我试图创建一个字符串连接整数数组的元素:
string.Join(", ", integerArray.Select(p => p.ToString()).ToArray())
这样我得到这样的东西:1, 2, 3, 4
.
现在我想为每个元素打印数组中相应位置的索引,如下所示{0} 1, {1} 2, {2} 3, {3} 4
:
不关心格式。我想知道如何获取 lambda 表达式中每个选定元素的数组索引?
Select
有一个将索引作为 lambda 输入的重载:
string.Join(", ", integerArray.Select((p, i) => string.Format("[{0}] {1}",i,p)).ToArray());
请注意,我使用[]
而不{}
只是为了避免在string.Format
. 如果你真的想要大括号,你可以这样做:
string.Join(", ", integerArray.Select((p, i) => string.Format("{{{0}}} {1}",i,p)).ToArray())
和斯坦利一样,只是带了花括号
int[] integerArray = {1,2,3,4,5};
string result = string.Join(", ", integerArray.Select((p, i) => string.Format("{{{0}}} {1}", i, p.ToString())).ToArray());
Console.WriteLine(result);