如何使用lambda表达式获得数组索引

本文关键字:数组 索引 表达式 何使用 lambda | 更新日期: 2023-09-27 18:12:56

我试图创建一个字符串连接整数数组的元素:

string.Join(", ", integerArray.Select(p => p.ToString()).ToArray())

这样我就得到了这样的结果:1, 2, 3, 4 .

现在我想打印每个元素在数组中对应位置的索引,像这样:{0} 1, {1} 2, {2} 3, {3} 4 .

不要在意格式。我想知道的是我怎么能得到数组索引为每个选定的元素在我的lambda表达式?

如何使用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())

和Stanley一样,只是用了大括号

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);