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

Get Index of a string from list of string

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

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

您可以使用 Enumerable.Select 的第二个重载:-

 var result = Lst1.Select((v, i) => new { Value = v, Index = i });

Working Fiddle Demo.

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