你可以總是初始化類像
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