从字符串列表中获取字符串的索引

时间:2015-01-13 07:23:43

标签: c# list

我正在尝试从列表中获取值。在结果中,我还需要结果列表中值的索引。我不知道如何得到它。有人可以给我一些想法。以下是我使用的代码。

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

2 个答案:

答案 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 });

Working Fiddle Demo