请问C#该多用数组还是list?

AdmiralMeng 2010-03-14 11:06:25
请教:是用数组好呢还是用list<T>好呢?

从方便性上说感觉list要方便很多,但不知效率如何,如果我有10个int型数据要传给函数,该用哪种呢?int[] or list<int>

是不是可以将所有int[],string[] 之类的数组全部用list<int>,list<string>代替?

...全文
1318 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
dzang 2012-06-30
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 的回复:]

这正的价值是靠逻辑、应用和扩展方面的考虑 --> 真正的价值是靠逻辑、应用和扩展方面的考虑

这是工程问题。但是好的工程方法就是适应变化,而不是纠缠于过去的东西。

当你与别人共同工作时,实际上别人的代码是怎样就怎样,没有必要去修改它。别人使用 T[],或者别人使用List<T>,使用时没有任何先去愤青的必要。
[/Quote]



什么叫【高远】,高远,不是别人说技术,你就强调市场,别人说市场,你就强调技术这种“反调”。

什么叫【高远】,高远就是,了解数字化促进的,最终是分工的明确,做技术的,就是该打扎实基础知识点,不偏科、但一定专注技术,做市场的,同样专注在对“市场资源”的获取,和“市场趋向”的把握,而不是耗在技术论坛上做领袖状;

什么叫【高远】,高远就是,不因为参与过几个不大不小的项目,就目空一切,认为手上的技术够用就能以市场眼光称王;认为没必要继续钻研、提升,而已经到了可以“华丽转身”的时候;认为自己已经可以撑起所有人头上的那片天。

技术有多强?市场眼光有多强?强还一天都耗在CSDN,而非自己的“企业”上?



dzang 2012-06-30
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 的回复:]

这正的价值是靠逻辑、应用和扩展方面的考虑 --> 真正的价值是靠逻辑、应用和扩展方面的考虑

这是工程问题。但是好的工程方法就是适应变化,而不是纠缠于过去的东西。

当你与别人共同工作时,实际上别人的代码是怎样就怎样,没有必要去修改它。别人使用 T[],或者别人使用List<T>,使用时没有任何先去愤青的必要。
[/Quote]


实在是看不过——真的是十处打锣,九处有你。

1、到处都回帖,经常说空话;

2、说空话也就算了,还一副激愤状,“使用时没有任何先去愤青的必要”,这个愤青到底是谁?

3、这里是以技术交流为主的平台,重视客户、市场的高阶项目负责人,自有天地,也没这么多时间耗在这里,若期望体现自己的【宏观感】或【市场感】,就不要在技术论坛浪费青春,有更高阶的平台给“领导”飞;

4、技术不扎实,就提高;眼光够高远,就展翅高飞。真正的愚蠢,是两头都想搞,两头都不占。



zhaobinzcb 2010-03-14
  • 打赏
  • 举报
回复
貌似没人测试过。。。。。。。。
七爷 2010-03-14
  • 打赏
  • 举报
回复
看你的需求决定喽
  • 打赏
  • 举报
回复
这正的价值是靠逻辑、应用和扩展方面的考虑 --> 真正的价值是靠逻辑、应用和扩展方面的考虑

这是工程问题。但是好的工程方法就是适应变化,而不是纠缠于过去的东西。

当你与别人共同工作时,实际上别人的代码是怎样就怎样,没有必要去修改它。别人使用 T[],或者别人使用List<T>,使用时没有任何先去愤青的必要。
AdmiralMeng 2010-03-14
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 sp1234 的回复:]

不知道你测试过没有,如果将一个产品中所有数组转换为List<T>或者相反,你的公司一年能多赚10万块钱吗?一套软件能够因为这种转换了就价值升高100块钱吗?

如果不是,就不要纠缠什么“效率如何”。这正的价值是靠逻辑、应用和扩展方面的考虑。
[/Quote]

嗯,软件的重点是在应用和功能上,运行效率也要从整个系统结构上加以考虑,不必拘泥于个别函数的运行效率。

但是如果有大量动态字符串需要连接,我想大部分人都会用StringBuilder而不用 + 吧。
用List<T>代替所有个数可能变动的数组会不会像只使用 + 不用StringBuilder来连接大量字符串一样被同行笑话是低级的写法?
wuyq11 2010-03-14
  • 打赏
  • 举报
回复
如果初始化时确定大小,那么就使用Array
如果初始化时不确定大小,那么就使用List
小_虎 2010-03-14
  • 打赏
  • 举报
回复
话是这样说的:不要跟我讲这么高深的理论,请问这高深的理论能给客户省几毛钱
  • 打赏
  • 举报
回复
不知道你测试过没有,如果将一个产品中所有数组转换为List<T>或者相反,你的公司一年能多赚10万块钱吗?一套软件能够因为这种转换了就价值升高100块钱吗?

如果不是,就不要纠缠什么“效率如何”。这正的价值是靠逻辑、应用和扩展方面的考虑。
AdmiralMeng 2010-03-14
  • 打赏
  • 举报
回复
那只要涉及到个数可能变动就全部用list,其它固定个数就用int[]等,可以吗?

我知道这个没有确切的答案,需要视具体情况而定,只是想知道大部分情况怎么做。
xingshungames 2010-03-14
  • 打赏
  • 举报
回复
感觉list用起来比数组方便。但是貌似数组的效率比list要来的高一点点。。。看情况了
ivws_19 2010-03-14
  • 打赏
  • 举报
回复
全代替肯定是不必要的,方便的情况下代替
AdmiralMeng 2010-03-14
  • 打赏
  • 举报
回复
将所有int[],string[] 之类的数组全部用list<int>,list<string>代替的方法好吗?
a569673493 2010-03-14
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 wuyq11 的回复:]

如果初始化时确定大小,那么就使用Array
如果初始化时不确定大小,那么就使用List
[/Quote]

嗯 正解 还有就性能了 数组的话遍历比list要快
RexZheng 2010-03-14
  • 打赏
  • 举报
回复
List<T> 的内部还是用 T[] 数组保存的,功能比 T[] 强大,但是会牺牲相应的性能。
越过越咸 2010-03-14
  • 打赏
  • 举报
回复
原始数组 快 sp1234 霸道 哈哈
  • 打赏
  • 举报
回复
其实我个人的观点是,整个软件这部分的低下效率可以用其它部分的高效率代替,在我们设计开发软件的时候,应该注意整体的效率,客户的需求。赚客户的钱吗,实时适应客户的需求,敏捷开发。
xingshungames 2010-03-14
  • 打赏
  • 举报
回复
我记得以前有人测试过list<>和数组的速度,数组只比list<>快一点点,影响不大

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧