我写了这段代码:
SqlXml s = new SqlXml(new MemoryStream(new UnicodeEncoding().GetBytes("asd")));但是为什么它不给我任何exception...why呢?
如果我试着:
SqlXml s = new SqlXml(new MemoryStream(new UnicodeEncoding().GetBytes("asd")));
String g=s.Value;我在价值分配方面有例外。我哪里错了?
提前感谢!
发布于 2017-09-09 13:16:49
因为简单地调用构造函数不会对这种类型的流(请参阅代码)做任何事情。只有当您对实例“做一些事情”时,它才会实际尝试读取数据/流,如果顺序正确,则抛出异常。
价值-property就是这样一个东西,它将导致实际读取传递的流。还有其他的,检查文档。
因此,如果您真的想使用这个类来检查流是否包含有效的XML,那么就像您已经做的那样做。调用SqlXml.Value属性(可能会将其赋值给字符串以获得良好的度量,即使您不使用它)。如果它抛出,则XML是无效的--正如您已经观察到的。
https://stackoverflow.com/questions/46038551
复制相似问题