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> ";