c# - 如果在 for 循环条件中使用属性,将属性存储在局部变量中是否有意义?
问题描述
简单而小的想法,可能影响不大。如果你手动迭代一个数组,就像这个简单的例子:
for (int i = 0; i < myArr.Length; i++)
{
Console.WriteLine(myArr[i]);
}
在本地存储 myArr.Length 有意义吗?像这样:
int myArrLen = myArr.Length
for (int i = 0; i < myArrLen; i++)
{
Console.WriteLine(myArr[i]);
}
与局部变量 myArrLen 相比,访问 myArr.Length 是否需要额外的工作量?它是否必须让这个内存访问 for 循环的每次迭代,还是会自动在本地存储 myArr.Length?如果数组有 100,000 或 1,000,000 个成员,您能注意到差异吗?
解决方案
推荐阅读
- c++ - 如何为特定类型的访问函数编写通用模板化包装器?
- node.js - NodeJS Web 应用程序仪表板未路由到 ejs 模板
- javascript - 如何修复带有数字输入的if then语句上的js代码
- mongodb - mongoimport .csv 到现有的集合和数据库中
- amazon-web-services - 无法访问 AWS 上部署的 docker 应用程序
- sql - SQL 循环遍历顺序时间序列数据以识别唯一用户而不重复计算的有效方法
- r - 根据另一列中的 AND 逻辑/条件过滤一列中重复出现的行
- json - 将 JSON 转换为 Python 字典(寻找更好的方法)
- python - 使用python中该列唯一值的动态列表按列拆分数据框
- excel - VBA - 检测编译失败的方法