请考虑以下代码:
private ISet<int> CalcSumsOfTwoNums(IEnumerable<int> nums) {
ISet<int> iset = new HashSet<int>();
var asArray = nums.ToArray();
for (var i = 0; i < asArray.Length - 2; i++) {
for (var j = i; j < asArray.Length - 1; j++) {
var sum = asArray[i] + asArray[j];
if (sum <= MAX) {
iset.Add(sum);
}
}
}
return iset;
}
for
将嵌套循环语法转换为 LINQ 表达式或 LINQ 点表示法是否有意义?这是for
循环语法更合适的情况之一吗?我倾向于说for
这里的循环更好,因为我依赖于数组的索引位置,因为我正在遍历它以获取结果集。