对于性能明智而言更好的是在foreach语句之外声明变量,并且每次都将它重新分配到它(foreach)或在foreach中创建一个新变量
例如
例如
private List<ListItem> GetItems() { var items = new List<ListItem>(); var collection = new List<int> { 0,1,2,3,4,5,6,7,8,9 }; ListItem item; foreach (var i in collection) { item = new ListItem { Text = i.ToString() }; items.Add(item); } return items; }
还是这个?
private List<ListItem> GetItems() { var items = new List<ListItem>(); var collection = new List<int> { 0,9 }; foreach (var i in collection) { ListItem item = new ListItem { Text = i.ToString() }; items.Add(item); } return items; }
肯定在这里我说的是物品对象.
谢谢你们.
@R_301_323@
这听起来像是
premature optimization.
首先,您有理由相信这里存在性能问题吗?
其次,在发布版本中,编译器的优化器可能会为这两种情况生成相同的代码 – 因此它可能无关紧要.在调试版本中,这可能并非总是如此,但是您不希望进行优化,因为调试版本的目的是允许您准确地逐步执行代码.