繁体   English   中英

如何使用Lambda表达式获取数组索引

[英]How to get array indexes using lambda expression

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM