使用LINQ和C#在元素列表中找到特定类型的第一个项目的最短符号是什么。
答案 0 :(得分:29)
var first = yourCollection.OfType<YourType>().First();
请注意,如果没有YourType
类型的元素,First
方法将抛出异常。如果您不希望这样,那么您可以改用FirstOrDefault
或Take(1)
,具体取决于您想要的行为。
答案 1 :(得分:12)
使用OfType扩展方法:
public static T FindFirstOfType<T>(IEnumerable list){
return list.OfType<T>().FirstOrDefault();
}
答案 2 :(得分:7)
list.OfType<MyType>().First();
答案 3 :(得分:5)
您可以使用FirstOrDefault
并传入委托来进行比较。
object[] list = new object[] {
4,
"something",
3,
false,
"other"
};
string first = list.FirstOrDefault(o => o is string); //something