java removeat,C#等价于java arraylist支持get,set和remove某些Index

这篇博客介绍了C#中的ArrayList与Java的不同,并推荐使用List<T>替代,因为List<T>提供了更好的类型安全和性能。文章通过示例展示了如何在C#中使用List<T>进行对象的添加、删除和访问,强调了C#2.0及以后版本中泛型集合的优势,避免了装箱和拆箱操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我是一名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);

我使用了C#ArrayList和LinkedList,但它们没有我需要的这些简单选项. C#中是否有另一个选项支持使用索引访问对象,插入和删除某些索引?

解决方法:

使用List< T>

String[] strs = new String[]{"str1" , "str2" , "str3" , "str4"};

List stringList = new List();

stringList.add(strs[0]);

stringList.add(strs[1]);

stringList.RemoveAt(indexYouWantToDelete)

String s = stringList[0];

c#中的ArrayLists来自预通用时代.从C#2.0开始,我们有通用集合,List< T>就是一个例子.正如对这个答案的评论所说,如果你使用一个ArrayList,你放入arraylist的元素必须被装箱(到Object,因为这是ArrayList唯一作为输入的东西).如果您想在此之后访问它们,则必须明确取消装箱,就像您在问题中所做的那样. ( – > String s =(String)arrayList.get(1);)

使用泛型集合(如List< T>),不再有装箱,因为编译器知道列表将包含哪种数据类型.在这种情况下,字符串.

您还可以使用List< int&gt ;, List< char>或List< whatever&gt ;,您可以对它们使用相同的索引功能.

标签:java,collections,arraylist,linked-list,c-2

来源: https://codeday.me/bug/20191005/1857213.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值