C# 检查可观察集合列表的LINQ返回是否为空
但是它给出了强制转换错误。出现此错误的原因是您试图访问空查询的第一个元素 使用C# 检查可观察集合列表的LINQ返回是否为空,c#,wpf,linq,mvvm,observablecollection,C#,Wpf,Linq,Mvvm,Observablecollection,但是它给出了强制转换错误。出现此错误的原因是您试图访问空查询的第一个元素 使用FirstOrDefault .DefaultIfEmpty().Max(itmGetAllData2 => itmGetAllData2 == null ? "" : itmGetAllData2); 出现此错误的原因是您试图访问空查询的第一个元素 使用FirstOrDefault .DefaultIfEmpty().Max(itmGetAllData2 => itmGetAllData2 == nul
FirstOrDefault
.DefaultIfEmpty().Max(itmGetAllData2 => itmGetAllData2 == null ? "" : itmGetAllData2);
出现此错误的原因是您试图访问空查询的第一个元素 使用
FirstOrDefault
.DefaultIfEmpty().Max(itmGetAllData2 => itmGetAllData2 == null ? "" : itmGetAllData2);
出现此错误的原因是您试图访问空查询的第一个元素 使用
FirstOrDefault
.DefaultIfEmpty().Max(itmGetAllData2 => itmGetAllData2 == null ? "" : itmGetAllData2);
出现此错误的原因是您试图访问空查询的第一个元素 使用
FirstOrDefault
.DefaultIfEmpty().Max(itmGetAllData2 => itmGetAllData2 == null ? "" : itmGetAllData2);
当[0]试图访问不包含任何对象的列表的第一个对象时,如果没有匹配项,则会出现此错误。改为这样做:
var result = GetAllData2.FirstOrDefault(ad => ad.Name = strName);
if (result != null)
{
// Initalize your ObservableCollection here
}
这将是您想要的第一个项目,如果找不到,则为null。由于[0]试图访问没有任何对象的列表的第一个对象,因此如果没有匹配项,则会出现此错误。改为这样做:
var result = GetAllData2.FirstOrDefault(ad => ad.Name = strName);
if (result != null)
{
// Initalize your ObservableCollection here
}
这将是您想要的第一个项目,如果找不到,则为null。由于[0]试图访问没有任何对象的列表的第一个对象,因此如果没有匹配项,则会出现此错误。改为这样做:
var result = GetAllData2.FirstOrDefault(ad => ad.Name = strName);
if (result != null)
{
// Initalize your ObservableCollection here
}
这将是您想要的第一个项目,如果找不到,则为null。由于[0]试图访问没有任何对象的列表的第一个对象,因此如果没有匹配项,则会出现此错误。改为这样做:
var result = GetAllData2.FirstOrDefault(ad => ad.Name = strName);
if (result != null)
{
// Initalize your ObservableCollection here
}
这将是您想要的第一项,如果没有找到,则为null。您的代码可以简化为:
Data1 = GetAllData2.FirstOrDefault(d => d.Name == strName);
如果未找到匹配项,Data1
将为null
。(这就是或default
部分添加的内容)如果您想用不同的值替换null,可以这样做,例如:
Data1 = GetAllData2.FirstOrDefault(x => x.Name == strName);
您的代码可以简化为:
Data1 = GetAllData2.FirstOrDefault(d => d.Name == strName);
如果未找到匹配项,Data1
将为null
。(这就是或default
部分添加的内容)如果您想用不同的值替换null,可以这样做,例如:
Data1 = GetAllData2.FirstOrDefault(x => x.Name == strName);
您的代码可以简化为:
Data1 = GetAllData2.FirstOrDefault(d => d.Name == strName);
如果未找到匹配项,Data1
将为null
。(这就是或default
部分添加的内容)如果您想用不同的值替换null,可以这样做,例如:
Data1 = GetAllData2.FirstOrDefault(x => x.Name == strName);
您的代码可以简化为:
Data1 = GetAllData2.FirstOrDefault(d => d.Name == strName);
如果未找到匹配项,Data1
将为null
。(这就是或default
部分添加的内容)如果您想用不同的值替换null,可以这样做,例如:
Data1 = GetAllData2.FirstOrDefault(x => x.Name == strName);