我有Windows表单C#应用程序,它从GUI获取值并使用XML Textwriter从它们创建XML文件。问题是这些值中的一些是可选的,当用户将它们留空时,应用程序将获得空引用异常,因为文本流为空。如果不对每个值进行检查,是否有一种方法可以异常处理整个事物以忽略空值? Try-catch在这方面似乎不起作用,因为它不会将光标返回到下一个语句。对不起,如果这是一个难以理解的问题!
答案 0 :(得分:2)
也许您可以使用代表您想要保存的数据的C#类,以及一个XmlSerializer来序列化所有这些(使用XmlTextWriter作为输入),因为Xml序列化非常优雅地处理null。
答案 1 :(得分:0)
使用异常处理此问题会导致各种问题。对于不需要的值,您需要花时间将writer.Write(....)
的调用与if(...)
打包在一起。