gpt4 book ai didi

c# - 将 for 循环转换为带索引的 foreach

转载 作者:行者123 更新时间:2023-11-30 19:55:02 26 4
gpt4 key购买 nike

我有这个 ToString 方法用于写出对象。我正在尝试将 for 循环转换为 foreach 循环。不使用 LINQ。

任何指针将不胜感激。

 public override string ToString()
{
StringBuilder output = new StringBuilder();
output.AppendFormat("{0}", count);
for (var index = 0; index < total; index++)
{
output.AppendFormat("{0}{1}{2} ", array[index], array[index].GetInfo,
string.Join(" ", array[index].Content(index)),
);
}
return output.ToString();
}

最佳答案

这是基于您当前代码的重构。

public override string ToString() {
var output = new StringBuilder();
output.AppendFormat("{0}", count);
var index = 0;
foreach (var item in array) {
if (item!=null) {
output.AppendFormat("{0}{1}{2} ", item, item.GetInfo,
string.Join(" ", item.Content(index++)),
);
}
}
return output.ToString();
}

使用 linq,您可以使用索引 Select 执行相同的操作,而无需直接调用在引擎盖下使用的 foreach

public override string ToString() {
var output = new StringBuilder();
output.AppendFormat("{0}", count);
array.Select((item, index) =>
output.AppendFormat("{0}{1}{2} ", item, item.GetInfo,
string.Join(" ", item.Content(index)),
)
);
return output.ToString();
}

关于c# - 将 for 循环转换为带索引的 foreach,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39693059/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com