c# - 数组与列表性能问题

标签 c# asp.net

<分区>

Possible Duplicate:
Performance of Arrays vs. Lists

我想知道哪种方法更适合完成这项任务。

string[] week = new string[7]
  week[0] = "Sunday";
  week[1] = "Monday";
  week[2] = "Tuesday";

  foreach (string day in week)
   {
     //Some task
   }


List<string> week = new List<string>();
 list.Add("Sunday");
 list.Add("Monday");
 list.Add("Tuesday");

 foreach (string day in list) 
 {
    //Some Task
 }

是否存在任何性能问题?或任何其他更好的方法。谢谢。

最佳答案

第一个可能会表现更好,但只是那么一点点。原因是,即使那个List后面有一个数组,但是对List的迭代还要经过几层方法调用才能取到值,而数组几乎是直接内存寻址.差异是如此之小,以至于您必须迭代数千次才能对其进行测量。这就是所谓的micro-optimization , 通常认为这是浪费精力。

关于c# - 数组与列表性能问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8784189/

相关文章:

mysql - asp.net插入多行

c# - 如何从 C# 程序在 ASP.NET 页面上填写文本?

c# - 一个列数据表到 List<string>

c# - 如何使用 C# 生成 8 个字符、900000 个大写字母/数字唯一键?

c# - 在字典或相关集合中查找 'Next Available' 键

javascript - 从 JSON 响应创建一个可观察的敲除数组

c# - WPF 中出现奇怪的边框

c# - ASPX 连接 wamp 数据库

c# - 从字符串转换日期和/或时间时转换失败

.net - 单个配置键的多个值