mic*_*ica 5 c# xml null visual-studio-2008
我想测试是否存在xml属性.鉴于这种:
XmlAttributeCollection PG_attrColl = SomeNodeorAnother.Attributes;
Run Code Online (Sandbox Code Playgroud)
第一次测试工作:
if (null != PG_attrColl["SomeAttribute"])
Run Code Online (Sandbox Code Playgroud)
"GetNamedItem"应该返回null,但是下面的测试会抛出一个异常,抱怨它返回的null.
if (null != PG_attrColl.GetNamedItem("SomeAttribute").Value;)
Run Code Online (Sandbox Code Playgroud)
为什么不同?只是好奇.
小智 12
因为如果GetNamedItem
返回null,则无法调用其Value
成员.
if (null != PG_attrColl["SomeAttribute"])
{
string value = PG_attrColl.GetNamedItem("SomeAttribute").Value;
}
Run Code Online (Sandbox Code Playgroud)
要么
object someAttributeNullable = PG_attrColl.GetNamedItem("SomeAttribute");
if (null != someAttributeNullable)
{
string value = someAttributeNullable .Value;
}
Run Code Online (Sandbox Code Playgroud)
if (null != PG_attrColl["SomeAttribute"])
这里你要检查属性是否为空
if (null != PG_attrColl.GetNamedItem("SomeAttribute").Value;)
在这里,您要检查属性的值是否为空。该代码首先尝试访问该属性,该属性为空,引发异常。