saj*_*jad 16 c# java collections linked-list arraylist
我是一名Java程序员,之前我使用过Java ArrayList,现在我想在C#中使用类似的东西.我需要的一些选项在这个Java代码中:
String[] strs = new String[]{"str1" , "str2" , "str3" , "str4"};
ArrayList arrayList = new ArrayList(35);
arrayList.add(strs[0]);
arrayList.add(strs[1]);
arrayList.remove(0);
arrayList.set(0, strs[2]);
String s = (String) arrayList.get(1);
Run Code Online (Sandbox Code Playgroud)
我用C#ArrayList和LinkedList,但他们没有,我需要这些简单的选项.C#中是否有另一个选项支持使用索引访问对象,插入和删除某些索引?
Tho*_*and 22
使用 List <T>
String[] strs = new String[]{"str1" , "str2" , "str3" , "str4"};
List<string> stringList = new List<string>();
stringList.add(strs[0]);
stringList.add(strs[1]);
stringList.RemoveAt(indexYouWantToDelete)
String s = stringList[0];
Run Code Online (Sandbox Code Playgroud)
c#中的ArrayLists来自预通用时代.从C#2.0开始,我们就有了泛型集合,List <T>就是其中的一个例子.正如对这个答案的评论所说,如果你使用一个ArrayList,你放入arraylist的元素必须被加框(Object因为这是ArrayList唯一作为输入的东西).如果您想在此之后访问它们,则必须明确取消装箱,就像您在问题中所做的那样.( - > String s = (String) arrayList.get(1);)
使用泛型集合(如List <T>),不再有装箱,因为编译器知道列表将包含哪种数据类型.在这种情况下,字符串.你也可以有一个List<int>,List<char>或者List<whatever>,你可以对它们使用相同的索引功能.
| 归档时间: |
|
| 查看次数: |
19148 次 |
| 最近记录: |