C++的STL在C#中的应用
2015-04-24 21:48
204 查看
这里主要讲几个重要的STL在C#中的应用:vector, map, hash_map, queue, set, stack, list.
vector: 在C#中换成了list
View Code
stack: C#还是叫stack(遵照set)
stack.Push();
stack.Pop();
stack.Peek();
list: C#就是list
string:
string是readonly的,要修改某一个字符就得先转成char[],再转回来
char[] sh = str.ToArray();
sh[3] = 'a';
str = new string(sh);
string s = "hello world";
1. bool b1 = s.Contains("hello");
2. 定位
2.1 IndexOf/LastIndexOf
int IndexOf(char value);
int IndexOf(char value, int startIndex);
int IndexOf(char value, int startIndex, int count);
int IndexOf(string value);
int IndexOf(string value, int startIndex);
int IndexOf(string value, int startIndex, int count);
2.2 IndexOfAny/LastIndexOfAny
int IndexOfAny(char[] anyof);
int IndexOfAny(char[] anyof, int startIndex);
int IndexOfAny(char[] anyof, int startIndex, int count);
LastIndexOfAny跟2.1类似
最后补充一下数组
int[,] f = new int[3, 5]; //声明一个3行5列的int数组
int m = f.GetLength(0); //获得行数
int n = f.GetLength(1); //获得列数
二维数组在函数里以一维作为参数时,C#没有办法用f[i]这种形式,只能传进f和行号,这确实比较麻烦
vector: 在C#中换成了list
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace test2 { class Program { static void Main(string[] args) { HashSet<string> set = new HashSet<string>(); set.Add("zhangsan"); set.Add("lisi"); set.Add("wangwu"); if (set.Contains("zhangsan")) Console.WriteLine("set contans zhangsan"); Console.WriteLine(set.Count); set.Remove("zhangsan"); if (set.Contains("zhangsan")) Console.WriteLine("set contans zhangsan"); Console.WriteLine(set.Count); foreach (var s in set) Console.WriteLine("{0}", s); set.Clear(); Console.WriteLine(set.Count); } } }
View Code
stack: C#还是叫stack(遵照set)
stack.Push();
stack.Pop();
stack.Peek();
list: C#就是list
string:
string是readonly的,要修改某一个字符就得先转成char[],再转回来
char[] sh = str.ToArray();
sh[3] = 'a';
str = new string(sh);
string s = "hello world";
1. bool b1 = s.Contains("hello");
2. 定位
2.1 IndexOf/LastIndexOf
int IndexOf(char value);
int IndexOf(char value, int startIndex);
int IndexOf(char value, int startIndex, int count);
int IndexOf(string value);
int IndexOf(string value, int startIndex);
int IndexOf(string value, int startIndex, int count);
2.2 IndexOfAny/LastIndexOfAny
int IndexOfAny(char[] anyof);
int IndexOfAny(char[] anyof, int startIndex);
int IndexOfAny(char[] anyof, int startIndex, int count);
LastIndexOfAny跟2.1类似
最后补充一下数组
int[,] f = new int[3, 5]; //声明一个3行5列的int数组
int m = f.GetLength(0); //获得行数
int n = f.GetLength(1); //获得列数
二维数组在函数里以一维作为参数时,C#没有办法用f[i]这种形式,只能传进f和行号,这确实比较麻烦
相关文章推荐
- 【C++ STL应用与实现】2: 如何使用std::vector
- C++中STL容器的find的应用
- C++ STL 基础及应用(6) 容器
- C++ STL 基础及应用(1) STL历史、组成和使用方法
- 【C++ STL应用与实现】72: 标准库里的堆--如何使用标准库的heap算法
- C++STL技术原理浅析与应用基础之vector
- C++ STL 基础及应用(7) 函数对象(仿函数)
- [转]如何借助 TLS/SSL 确保套接字连接的安全(使用 C#/VB/C++ 和 XAML 的 Windows 应用商店应用)
- c++STL 数据结构之queue队列应用
- 【C++ STL应用与实现】0: 感恩STL——STL, ACM和年轻的我们
- C++ STL 基础及应用(3) 迭代器
- C++ 标准模板库STL set 使用方法与应用介绍(一)
- 【C++ STL应用与实现】23: 如何使用std::mem_fn (since C++11)
- C++与C#对常用数据结构封装的对比(STL vs System.Collections.Generic)
- 《C++ STL基础 及应用》笔记
- C++ STL nth_element原理与应用
- 【C++ STL应用与实现】1: STL概览和分类
- C#应用调试C++ dll的方法
- C++ 标准模板库STL set 使用方法与应用介绍(二)
- 元素类型C++ 标准模板库STL 队列 queue 使用方法与应用介绍(一)