晚安
我希望有人可以帮助我,我已经到处寻找可能的解决方案,但我找不到任何东西,我在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);
我是csharp和Linq的新手,所以如果有人可以帮助我,我会非常感激。
先谢谢
答案 0 :(得分:1)
您可以将First
方法与谓词一起使用,它将返回满足条件的第一个元素,或者如果没有这样的元素则抛出异常。您可以使用Contains
检查字符串是否包含a
string strValue = strings.First(s => s.Contains('a'));
答案 1 :(得分:0)
这样做:
var result = strings.Where(x=> x.Contains('a')).FirstOrDefault();
或直接使用FirstOrDefault()
:
var result = strings.FirstOrDefault(x=>x.Contains('a'));
它将为您提供包含字母 a 的元素。
答案 2 :(得分:-1)
试试这个: -
我认为您需要以a
开头的单词: -
string wordWitha = strings.FirstOrDefault(x => x.StartsWith("a",
StringComparison.OrdinalIgnoreCase));
如果您想要包含a
的任何单词,请: -
string wordWitha = strings.FirstOrDefault(x => x.Contains('a'));