我有以下模型类。我想根据某些条件从AddressMatch
列表中检索AddressMatches
的对象。
public class AddressMatchList
{
public List<AddressMatch> AddressMatches { get; set; }
}
public class AddressMatch
{
public string HouseRange { get; set; }
public string HouseNumber { get; set; }
public string StreetName { get; set; }
public string AddressIdentifier { get; set; }
}
我尝试了这个:
AddressMatch selectedMatchedAddress = new AddressMatch();
selectedMatchedAddress = addressMatches.AddressMatches.Where(a => a.AddressIdentifier == "cpr");
但是有错误:
无法隐式转换类型
'System.Collections.Generic.IEnumerable'至
“地址匹配”。存在显式转换(您是否缺少
投?)
最佳答案
Where
返回一个可枚举的(列表)项,您希望其中只有一个。
如果要确保只有一个匹配项,可以使用此方法(如果找到多个匹配项,SingleOrDefault
将给出异常):
selectedMatchedAddress = addressMatches.AddressMatches
.SingleOrDefault(a => a.AddressIdentifier == "cpr");
或者,如果您只想要第一个匹配项,请执行以下操作:
selectedMatchedAddress = addressMatches.AddressMatches
.FirstOrDefault(a => a.AddressIdentifier == "cpr");
在这两种情况下,重要的是检查
selectedMatchedAddress
中是否包含null
。关于c# - 无法隐式转换类型'System.Collections.Generic.IEnumerable Cast错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40036989/