为了简化我的长篇故事,我必须稍微改进一下这段代码:
public class Faerie
{
public string Name;
}
public class Example
{
List<Faerie> faeries = new List<Faerie>() {
new Faerie { Name = "Wild Faerie" } ,
new Faerie { Name = "Smoke Faerie" },
new Faerie { Name = "Red Faerie" }
};
string[] faerieNamesFromInput = new string[] { "White Faerie", "Wild Faerie", "Dark Faerie" };
public Faerie ReturnMatchedFromInput()
{
}
}
如果其名称与用户输入中的名称相匹配,我如何从仙女列表中返回一个Fairy对象?比如说,在这里,我想要回复名为Wild Faerie的精灵,因为它的名字匹配。那里有一个简短的LINQ方式,或者我必须进行循环?
答案 0 :(得分:2)
如果您想要返回多个匹配
faeries.Where(x => faerieNamesFromInput.Contains(x.Name));
如果您想首先返回匹配的
faeries.FirstOrDefault(x => faerieNamesFromInput.Contains(x.Name));
答案 1 :(得分:0)
简单地做
var result = faeries.FirstOrDefault(x => faerieNamesFromInput.Contains(x.Name));
确保包含System.LINQ
命名空间。