如何在不使用LINQ查看整个列表的情况下在c#list中找到第一个匹配项?

Cha*_*lds 3 c# linq

我有一个清单: var strings = new List<string>();

我的列表包含5个字符串.

 string.Add("Paul");
 string.Add("Darren");
 string.Add("Joe");
 string.Add("Jane");
 string.Add("Sally");
Run Code Online (Sandbox Code Playgroud)

我想迭代列表,一旦找到以"J"开头的字符串,我就不需要继续处理列表了.

LINQ可以实现吗?

TKh*_*ili 11

尝试:

strings.FirstOrDefault(s=>s.StartsWith("J"));
Run Code Online (Sandbox Code Playgroud)

如果您是LINQ的新手,我建议您使用C#中的101 LINQ示例.


Tim*_*ter 6

你可以使用FirstOrDefault:

var firstMatch = strings.FirstOrDefault(s => s.StartsWith("J"));
if(firstMatch != null)
{
    Console.WriteLine(firstMatch);
}
Run Code Online (Sandbox Code Playgroud)

演示