如何从列表中检索特定字符串,特别是在C#中以某个字母开头的字符串?

时间:2018-04-16 20:33:56

标签: c# string linq

我的c#代码看起来像这样。我希望使用LINQ或其他任何东西查找以特定字母开头的名称。

        var list = new List<string>();
        int count = 1;

        for (int i = 0; i < 5; i++)
        {
            Console.WriteLine("Enter name {0}", count++);
            var name = Console.ReadLine();
            list.Add(name);
        }
        foreach (var n in list)
        {
            Console.WriteLine(name);
        }

3 个答案:

答案 0 :(得分:4)

查看Where()方法和StartsWith()方法 list.Where(x=>x.StartsWith('a'))

答案 1 :(得分:2)

根据您的需要,您可以使用Where子句:

var result = list.Where(n => n.StartsWith("m", StringComparison.Ordinal));

或仅添加以特定字母开头的名称:

if(name.StartsWith("m", StringComparison.Ordinal))
       list.Add(name);

后一个示例意味着您不会在累积列表中添加不以给定字母开头的名称,因此您不必过滤更改循环。

答案 2 :(得分:1)

foreach(var n in list.Where(n => n.StartsWith("m")))
{
    Console.WriteLine(n);
}