![](/img/trans.png)
[英]How to avoid Object reference not set to instance of object error with FirstOrDefault?
[英]Avoid Error: Object reference not set to an instance of an object
我有以下两个功能:
private object[] GetFormatedDataArray(
Dienstleistungsreservierung dlres,
KostenstellenProvider kstProvider)
{
SAPKonto konto;
try { konto = KontierungsProvider.Instance.GetSAPKonto(dlres); }
catch { konto = new SAPKonto(); konto.KontoText = "UNBEKANNT"; }
Kostenstelle kst = kstProvider.GetKostenstelle(dlres.Raumreservierung.Buchung);
KostenstellenValidator.Validate(kst);
return new object[] {
dlres.Raumreservierung.VirtualRaum.Etage.Gebaeude.KonfStandort,
dlres.Raumreservierung.VirtualRaum.Etage.Gebaeude.Partner.AnsprechPartnerName,
......
}
有可能的价值:
dlres.Raumreservierung.VirtualRaum.Etage.Gebaeude.Partner
为null,因为我已经创建了一个if子句,它创建.csv文件,如果值为null或者@ = null,他应该创建文件。
使用该函数/返回该函数的值,我创建一个.csv文件。
{
.....
var file = GetCsvFile(dl, accDate);
// CSV werden auf Platte geschrieben!
var csvWriter = new CSVWriter(file);
csvWriter.WriteLine(GetHeader());
foreach (Dienstleistungsreservierung dlres in dlDic[dl])
{
if (dlres.Raumreservierung.VirtualRaum.Etage.Gebaeude.Partner == null || dlres.Raumreservierung.VirtualRaum.Etage.Gebaeude.Partner != null)
{
csvWriter.WriteLine(GetFormatedDataArray(dlres, kstProvider));
}
}
csvWriter.Flush();
....
}
但错误仍然存在? 还有其他方法可以解决吗?
if (dlres.Raumreservierung.VirtualRaum.Etage.Gebaeude.Partner == null ||
dlres.Raumreservierung.VirtualRaum.Etage.Gebaeude.Partner != null)
你的if
语句包含矛盾的检查。 如果dlres.Raumreservierung.VirtualRaum.Etage.Gebaeude.Partner
的值有可能为null,那么您应该检查它是否为null然后继续。 跟随之类的事情
if (dlres.Raumreservierung.VirtualRaum.Etage.Gebaeude.Partner != null)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.