我正在尝试从列表中获取值。在结果中,我还需要结果列表中值的索引。我不知道如何得到它。有人可以给我一些想法。以下是我使用的代码。
List<string> Lst1 = new List<string>();
Lst1.Add("a");
Lst1.Add("ab");
Lst1.Add("c");
Lst1.Add("d");
List<string> result = Lst1.Select(x => x.Substring(0, 1)).ToList();
答案 0 :(得分:4)
Enumerable.Select有一个重载也给索引,所以你可以使用它。请注意,您不能将字符串和索引存储在List<string>
中,因此您可能需要List<Tuple<string, int>>
。另请注意,在列表中,每个元素都已经有一个索引,所以无论如何你都不需要这个。
List<Tuple<string, int>> result = Lst1.Select(
(x, i) => new Tuple<string, int>(x.Substring(0, 1), i)).ToList();
答案 1 :(得分:1)
您可以使用Enumerable.Select的第二次重载: -
var result = Lst1.Select((v, i) => new { Value = v, Index = i });