谁能建议我们应该使用以下两行代码?
foreach(var items in itemList.Take(20))
{
}
或
var itemList = itemList.Take(20);
foreach(var items in itemList)
{
}
以上两行在优化代码方面有什么不同吗,如果有,请告诉我原因。
最佳答案
不,这两段代码的行为不会有所不同。
事实上,如果你看看这个 SharpLab example您会注意到这两段代码编译为完全相同的 IL。
所以:
- 代码看起来不同,如果对您很重要,请选择您觉得最舒服的代码
- 代码将编译到exact相同的输出(在发布版本中),在这种情况下,代码的外观(在这种情况下)与代码的行为或性能
简而言之,选择你认为最好看的版本。
关于C#:在 foreach 中使用 Take() is 语句可以使用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44586167/