C# 匹配特定字符,提取第一个单词LINQ列表

C# 匹配特定字符,提取第一个单词LINQ列表,c#,linq,C#,Linq,晚上好 我希望有人能帮助我,我到处寻找一个可能的解决方案,但我什么也找不到,我在Csharp中有一个LINQ列表,现在我一直试图实现的就是这个。匹配“a”的第一个匹配项后,提取包含a的第一个单词。这是我的密码 List<string> strings = new List<string>() { "John", "Jane", "Sarah", "Pete", "Anna" }; s

晚上好

我希望有人能帮助我,我到处寻找一个可能的解决方案,但我什么也找不到,我在Csharp中有一个LINQ列表,现在我一直试图实现的就是这个。匹配“a”的第一个匹配项后,提取包含a的第一个单词。这是我的密码

        List<string> strings = new List<string>()
        {
            "John", "Jane", "Sarah", "Pete", "Anna"
        };

        string strValue = Program.GetSingleStringValue(strings);
        Console.WriteLine("Single String: " + strValue);
List strings=新列表()
{
“约翰”、“简”、“萨拉”、“皮特”、“安娜”
};
string strValue=Program.GetSingleStringValue(字符串);
Console.WriteLine(“单个字符串:+strValue”);
我是csharp和Linq的新手,如果有人能帮助我,我会非常感激

提前感谢

请这样做:

var result = strings.Where(x=> x.Contains('a')).FirstOrDefault();
或者直接使用
FirstOrDefault()


它将为您提供包含字母a的元素。

您可以使用带有谓词的
First
方法,它将返回满足条件的第一个元素,或者如果没有此类元素,则抛出异常。您可以使用
contains
检查字符串是否包含
a

string strValue = strings.First(s => s.Contains('a'));
试试这个:-

我想你需要一个以a开头的单词:-

string wordWitha = strings.FirstOrDefault(x => x.StartsWith("a",
                                            StringComparison.OrdinalIgnoreCase));
如果您想要任何包含
a
的单词,则:-

string wordWitha = strings.FirstOrDefault(x => x.Contains('a'));

@请讲理由!
string wordWitha = strings.FirstOrDefault(x => x.Contains('a'));