This link提供示例代码来推断VB.NET中XML文件的模式。一个特别的线在我翻译到C#,即失败,将vb.net翻译为C#:一行代码
Dim schema As XmlSchema = schemaSet.Schemas()(0)
我的翻译是
XmlSchema schema = schemaSet.Schemas()[0];
我看不出有什么不对我的翻译?
This link提供示例代码来推断VB.NET中XML文件的模式。一个特别的线在我翻译到C#,即失败,将vb.net翻译为C#:一行代码
Dim schema As XmlSchema = schemaSet.Schemas()(0)
我的翻译是
XmlSchema schema = schemaSet.Schemas()[0];
我看不出有什么不对我的翻译?
XmlSchemaSet.Schemas()返回您无法通过索引访问的ICollection
。如果您使用的使用。NET 3.5,你可以使用LINQ做:
schemaSet.Schemas().Cast<XmlSchema>().First();
否则,您必须使用foreach
循环,在第一次迭代后停止。
+1是因为第一个指出尝试使用'[0]'不适用于'ICollection'。 –
+1提供了一个实际上可以解决问题的答案。 –
ChrisWue:太棒了!有用。非常感谢你。我很好奇 - 什么是非Linq解决方案? – AAsk
你得到的编译器错误是什么?什么类型是'schemaSet'? – Jacob
'schemaSet'的类型是什么? – jzila
类型为System.Xml.Schema.XmlSchemaSet,错误为'无法将索引用[]应用于System.Collections.ICollection类型的表达式' – AAsk