相当于VB的c#.NET "Imports " xmlns& quot;;XML模式

本文关键字:quot xmlns XML 模式 Imports VB NET 相当于 | 更新日期: 2023-09-27 18:12:33

我有一个旧的VB。. NET web应用程序项目,我正在转换为c#。我已经使用SharpDevelop转换了大部分应用程序,但在转换一些特殊情况代码时遇到了一个问题:

' Namespace
Imports <xmlns:items="urn:list_items">
' Code:
Dim group = From items In ListItems...<items:item> _
                 Where items.<item.name> = "Something"
                 Select names = items.<item.name>

我不知道c#相当于VB。. NET使用XML模式的方法。是否有一种方法可以导入模式并使用相同的LINQ语句?

编辑:

让我陷入循环的部分是Imports <xmlns:items="urn:list_items">using urn:list_items的转换(通过SharpDevelop)。编译器报错了这个语法。

我只是好奇是否有一个c#等效的指令来导入XML模式并将其用作LINQ查询的一部分,但考虑到c#不像VB那样支持XML字面量。

相当于VB的c#.NET "Imports " xmlns& quot;;XML模式

没有等价物。c#不支持XML字面值。


c#支持LINQ to XML。然而,你发布的代码是特殊的VB。NET语法允许以一种更接近实际XML的形式指定XML和XML的处理。c#中没有类似的

如果你实际上不是在寻找一个等价的,而只是一个翻译,那么可能如下:

XNamespace itemsNs = "urn:list_items";
var group = from items in ListItems.Descendants(itemsNs + "item")
            where items.Element("item").Element("name").Value == "Something"
            select new
                {
                    names = items.Element("item").Element("name").Value
                };