C#中有类似于C++中的容器吗?还有动态数组怎么定义? 现在想要用到的是类似于C++中的MAP,VECTOR等容器。在C#中分别是那些?要包含什么头文件?还有, C#中的动态数组是怎么定义的,我现在需要一个动态数组中间存放的是一些自己定义的struct类型的变量,同时这样的动态数组还要求被传送到其他对象中去,应该怎么做? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 有很多列表的类,楼主可以搜点资料看看Hashtable vHashtable = new Hashtable();vHashtable.Add(1, "1");vHashtable.Add(2, "2");List<int> vList = new List<int>();vList.Add(1); vList.Add(2); vList.Add(3);vList.RemoveAt(0);ArrayList vArrayList = new ArrayList();vArrayList.Add(1);vArrayList.Add(2);vArrayList.Add(3);vArrayList.RemoveAt(2);Dictionary<string, int> vDictionary = new Dictionary<string, int>();vDictionary.Add("A", 1);vDictionary.Add("A", 2); C#中的动态数组没有动态数组,不过可以用system.collections空间中的类来代替如hashtable,sortedlist,arraylist C#的集合可以实现c++容器类的一些功能,不过LZ要使用结构来填充容器,建议使用C#的泛型,泛型很象c++的STL,但是是类型安全的。由于c#中结构算值类型的,如果使用集合会存在装箱和拆箱的问题所以还是使用泛型较好。 nacarat 坐拥书城不释卷,红袖添香夜读书。MSN:[email protected] 等 级: 发表于:2007-11-23 22:59:122楼 得分:0 C#中的动态数组没有动态数组,不过可以用system.collections空间中的类来代替 如hashtable,sortedlist,arraylist -----------------用System.Collections.Generic下的那几个泛型类的不是更好嘛-_-... 哇拷认真一看在我前面的前面的居然是nacarat~顺便悄悄的问一下:你真的是女的吗?:D C#的泛型是2.0的,我现在的开发平台是.net 2003。所以,不好用。那我现在是不是只能用ArrayList?还有,ArrayList中如果存放结构体会不会存在问题? .net 2003的话就只能用集合了,使用集合装入结构体是存在问题。前面我说过结构体在C#里是当作值类行处理的,而集合内元素都是object所以在加入集合和取出是要进行装箱和拆箱操作,同时读出时要进行类型转换存在不安全的问题。一个好的处理办法就是不使用结构体,把所有的结构体全部定义成类,这样就不存在问题了。 关于treeview控件的问题 请问大家一个关于c#发送、接收广播消息的问题??(解决给分) 分享自己做的学习笔记本,同时希望高手改进 认不到C#{}中的数据 winform中有没有办法让DataGrid字段名称居中呢,现在默认是左上角的,不美观 VSS数据库的密码丢了,怎么样才能访问里面的代码呀,有办法吗? C#中怎么把刚添加到表中的一些数据显示在datagrid中 菜鸟 求助C# tcp connect连接问题 水晶报表.救命 浏览器显示矢量图的问题 treeview 节点图象跳动功能(在线等) C#中一个输出问题
Hashtable vHashtable = new Hashtable();
vHashtable.Add(1, "1");
vHashtable.Add(2, "2");List<int> vList = new List<int>();
vList.Add(1);
vList.Add(2);
vList.Add(3);
vList.RemoveAt(0);ArrayList vArrayList = new ArrayList();
vArrayList.Add(1);
vArrayList.Add(2);
vArrayList.Add(3);
vArrayList.RemoveAt(2);Dictionary<string, int> vDictionary = new Dictionary<string, int>();
vDictionary.Add("A", 1);
vDictionary.Add("A", 2);
如hashtable,sortedlist,arraylist
泛型很象c++的STL,但是是类型安全的。由于c#中结构算值类型的,如果使用集合会存在装箱和拆箱的问题
所以还是使用泛型较好。
坐拥书城不释卷,红袖添香夜读书。MSN:[email protected]
等 级:
发表于:2007-11-23 22:59:122楼 得分:0
C#中的动态数组没有动态数组,不过可以用system.collections空间中的类来代替
如hashtable,sortedlist,arraylist
-----------------
用System.Collections.Generic下的那几个泛型类的不是更好嘛-_-...
顺便悄悄的问一下:
你真的是女的吗?:D
前面我说过结构体在C#里是当作值类行处理的,而集合内元素都是object
所以在加入集合和取出是要进行装箱和拆箱操作,同时读出时要进行类型转换
存在不安全的问题。
一个好的处理办法就是不使用结构体,把所有的结构体全部定义成类,这样就不存在问题了。