给出这样的列表:
["singing", "office", "1995>Work Photos", "Kevin", "and", "Emma", "Holiday Party>Karaoke"]
Run Code Online (Sandbox Code Playgroud)
什么是最简洁的LINQ查询,用于选择列表中包含字符">"及其后的所有元素的第一个元素.对于上面的例子,我想要这个结果:
["1995>Work Photos", "Kevin", "and", "Emma", "Holiday Party>Karaoke"]
Run Code Online (Sandbox Code Playgroud)
我可以明显地循环并手动完成,但感觉就像那里有一个优雅的单线.这是手动尝试:
var found = false;
var filtered = new List<string>();
foreach (var itm in list){
if (itm.Contains(">")) found = true;
if (found) filtered.Add(itm);
}
Console.WriteLine(filtered);
Run Code Online (Sandbox Code Playgroud)
我想你正在寻求SkipWhile扩展方法:
var ar = new string []{ "singing", "office", "1995>Work Photos", "Kevin", "and", "Emma", "Holiday Party>Karaoke"};
var r= ar.SkipWhile(s => !s.Contains(">"));
Run Code Online (Sandbox Code Playgroud)