我有一个类似对象的列表。此列表中的对象都有一个名为 Name
的属性和一个名为 Mk2Result
但属于枚举类型 Mk2TestResult
的枚举类型。
现在在 for 循环中,我想看看当前的 itterator 整数是否作为对象的名称存在于列表中:
for(......
{
//
var query =
from pin in _pins
where pin.Name == i.ToString()
select pin.Mk2Result;
Mk2TestResult result = (Mk2TestResult)query;
//Do some more stuff
}
但是编译器报错了以下信息:
Cannot convert type 'System.Collections.Generic.IEnumerable<DataModels.Mk2TestResult>' to 'DataModels.Mk2TestResult'
如何正确返回枚举类型的查询结果?
最佳答案
尝试
Mk2TestResult result = (Mk2TestResult)query.FirstOrDefault();
因为您正试图将列表转换为一个对象。 但是你只会得到第一个对象。您可以在 FirstOrDefault 函数参数中使用函数来获取所需的对象。
关于c# - 将 linq 查询结果转换为枚举,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11953093/