Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/326.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 空引用错误_C#_Asp.net - Fatal编程技术网

C# 空引用错误

C# 空引用错误,c#,asp.net,C#,Asp.net,可能重复: 当我试图访问存储在对象中的值时,当值为空时,它会显示空引用错误。如何检查空值 str = "<html>" + objName.Name + "</html>" 提前感谢怎么样: if(objName != null) { str = "<html>" + objName.Name + "</html>" } 那么: if(objName != null) { str = "<html>" + objN

可能重复:

当我试图访问存储在对象中的值时,当值为空时,它会显示空引用错误。如何检查空值

str = "<html>" + objName.Name + "</html>"
提前感谢

怎么样:

if(objName != null)
{
    str = "<html>" + objName.Name + "</html>"
}
那么:

if(objName != null)
{
    str = "<html>" + objName.Name + "</html>"
}
比如:

if(objName != null && !string.IsNullOrEmpty(objName.Name))
{
  str = "<html>" + objName.Name + "</html>"
}
比如:

if(objName != null && !string.IsNullOrEmpty(objName.Name))
{
  str = "<html>" + objName.Name + "</html>"
}

为如下所示的对象检查null:

str="<html>"+ objName != null ? objName.Name : string.empty + "</html>"

为如下所示的对象检查null:

str="<html>"+ objName != null ? objName.Name : string.empty + "</html>"
简单案例:

str=+objName!=无效的objName.Name:+

性能稍有提高:

如果objTest为null,则此操作将失败,并使

`objname.name.ToString() != null`
没什么意义

您可能打算对objTest和objname执行类似的操作:

这将同时保护objname和objname.name

更好的办法是:

简单案例:

str=+objName!=无效的objName.Name:+

性能稍有提高:

如果objTest为null,则此操作将失败,并使

`objname.name.ToString() != null`
没什么意义

您可能打算对objTest和objname执行类似的操作:

这将同时保护objname和objname.name

更好的办法是:



我尝试了类似str=+ifobjName.name.count>0{objName.name}+..的方法,但如果不能像这样使用,我尝试了类似str=+ifobjName.name.count>0{objName.name}的方法+…但是如果不能像这样使用,这是检查所有边缘条件的最佳答案。没有必要为objName检查null或empty。Name原因如果它为null,那么它也会concate,不会因为string而给出任何错误。是的,我也这么想,但我的防御编程方法首先出现:取决于情况。根据问题,这是可以接受的,对于未来的读者来说,理解为什么输出可能毫无例外地为空是很有帮助的。谢谢..但是在使用str=+objName!=无效的objName.Name:string.empty+我在html标记消失下所做的格式化这是检查所有边缘条件的最佳答案。没有必要为objName检查null或empty。Name原因如果它为null,那么它也会出现,不会因为string而给出任何错误。是的,我也在想,但我的防御性编程方法是第一位的:取决于形势。根据问题,这是可以接受的,对于未来的读者来说,理解为什么输出可能毫无例外地为空是很有帮助的。谢谢..但是在使用str=+objName!=无效的objName.Name:string.empty+我在html标记下所做的格式设置消失编辑不清楚他们是否打算添加,即使它没有Name值。如果是html页面,我会假设他们希望包含完整的its和html标记。即使它没有名称值,也不清楚他们是否打算添加。我会假设如果它和html标记是html页面,他们会希望包含完整的内容。谢谢,它工作了。但是其余的格式消失了。第一次之后的所有对象都没有显示任何值。请详细说明您的问题?str=+++

测试名称

+objTest.Name.ToString++objname.Name.ToString!=无效的Join,objname.name.ToArray:string.Empty+;在空对象上应用条件后,其他格式(如图像标题)都消失了。在应用后,我只得到了objTest.name值…没有图像标题任何内容它起作用了..但其他格式消失了..第一次之后的所有对象都没有显示任何值扫描请详细说明您的问题?str=++

测试名称

+objTest.Name.ToString++objname.Name.ToString!=无效的Join,objname.name.ToArray:string.Empty+;在空对象上应用条件后,其他格式(如图像标题)都消失了。应用条件后,我只得到objTest.name值…使用str=+objName!=无效的objName.Name:string.empty+我在html标记消失下所做的格式化添加了更多内容。看看这对你是如何起作用的,也许有助于让一切变得更有意义。这部分一开始很难,但会变得更好。使用str=+objName!=无效的objName.Name:string.empty+我在html标记消失下所做的格式化添加了更多内容。看看这对你是如何起作用的,也许有助于让一切变得更有意义。这部分一开始很难,但会变得更好。
`objname.name.ToString() != null`
str += "<u> Test Name </u></p>" + (objname != null && objname.name != null ? objname.name.toString() : "") + "<br/>";
string str;
var objNameName = (objname != null) ? objname.name : null;
var objTestName = (objTest != null) ? objTest.name : null;

str = "<body lang=EN-US style='tab-interval:.5in'>";
str += "<div class=Section1>";
str += "<img img width=100 height=50 id='myImg' src='C:/test.jpg'>";
str += "<p style='font-weight:bold; color:green;'>";
str += "<u> Test Name </u></p>" + (objTestName != null ? objTestName.ToString() : "") + "<br/>";
str += objNameName != null ? string.Join(", ", objNameName.ToArray()) : "";
str += "</body> </html> ";