你可以总是初始化类像
public class MyClass
{
public MyClass() {
this.MyProp1 = this.MyProp2 = String.Empty;
}
public string MyProp1 { get; set; }
public string MyProp2 { get; set; }
}
,除非你的程序分配一个null
值吧,new MyClass()
将永远在他们的2个性能String.Empty
...
来自评论:
我在做什么例子是调用助手,例如:string name = myHelper。CheckNode(的xmlNode);并且在辅助我检查它是否为空,其他任何检查,我可以很容易地tweek辅助方法,这将是提供给所有的元素,你可以扩展它不仅支持字符串,但是所有其他数据类型以及
所以,想象一下,你是从你的XML阅读节点,你写他们喜欢:
string name = myHelper.CheckNode(node);
放在你的助手
,你可以有这样的:
XmlNodeList datasourceNodes = rootNode.SelectNodes("dataSources/dataSource");
foreach (XmlNode datasourceNode in datasourceNodes)
{
DataSource dataSource = new DataSource();
dataSource.Name = myHelper.CheckAttr(datasourceNode.Attributes["name"]);
dataSource.ODBC = myHelper.CheckNode(datasourceNode.SelectSingleNode("odbc"));
// or a variant (Extension Method)
dataSource.UID = datasourceNode.CheckNode("user");
dataSource.PWD = datasourceNode.CheckAttr("password");
ds.Add(dataSource);
}
你的助手,那么可以有一个方法如:
public static string CheckAttr(XmlAttribute attr)
{
return attr == null ? "" : attr.Value.Trim();
}
public static string CheckNode(XmlNode node)
{
return node == null ? "" : node.InnerText.Trim();
}
或变体(扩展方法)
public static string CheckAttr(this XmlNode, string attrName)
{
return attrName[attrName] == null ? "" : attrName[attrName].Value.Trim();
}
public static string CheckNode(this XmlNode, string nodeName)
{
return node.SelectSingleNode(nodeName) == null ?
"" :
node.SelectSingleNode(nodeName).InnerText.Trim();
}
你需要知道哪些属性为null或的String.Empty或只是其中至少有一个是? – ChrisBD 2012-01-05 08:25:55
属性不能为空,不能为空 – 2012-01-05 08:28:29