Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# VB.net到c的转换_C#_Vb.net - Fatal编程技术网

C# VB.net到c的转换

C# VB.net到c的转换,c#,vb.net,C#,Vb.net,我正在将一段代码从VB.net转换为C,我被困在这段代码中 If Not IsNothing(successNode) Then Dim _data As XElement = (From xml In xDoc.Descendants("data") Select xml).FirstOrDefault Dim _count As Integer = _data.@count If _count > 0 Then _objectCollection

我正在将一段代码从VB.net转换为C,我被困在这段代码中

If Not IsNothing(successNode) Then
    Dim _data As XElement = (From xml In xDoc.Descendants("data") Select xml).FirstOrDefault
    Dim _count As Integer = _data.@count
    If _count > 0 Then
        _objectCollection = New QueryObjectCollection(_data.@listtype)
        For Each item As XElement In _data.Elements(_data.@listtype)
            If Not IsNothing(item.<RECORDNO>) Then
                _objectCollection.Keys.Add(item.<RECORDNO>.Value)
                _objectCollection.Objects.Add(item)
            End If
        Next
    End If
End if
不确定什么是_数据。@计数和_数据。@listtype。是否有等效的功能ic C


有人能帮我把这段代码转换成c吗?

这只是VB的简写

在VB中:

_数据计数 _数据类型 在C中:

具体来说,这是VB.Net语言中称为XML文本的功能的一部分,与LINQ to XML结合使用。C有LINQ,但没有XML文本

VB代码中的@名称表示法在XElement上使用时,表示要从该XML元素中检索具有指定名称的属性。还有一个VB语法看起来像。。。检索指定名称的元素,该元素将映射到C.Elementname.Value


请参阅和。

这只是VB速记

在VB中:

_数据计数 _数据类型 在C中:

具体来说,这是VB.Net语言中称为XML文本的功能的一部分,与LINQ to XML结合使用。C有LINQ,但没有XML文本

VB代码中的@名称表示法在XElement上使用时,表示要从该XML元素中检索具有指定名称的属性。还有一个VB语法看起来像。。。检索指定名称的元素,该元素将映射到C.Elementname.Value


请参阅和。

@用于访问由_数据表示的元素上的XAttributes,而符号访问子元素。 您的C端口应如下所示:

if (successNode != null)
{
    var _data = xDoc.Descendants("data").FirstOrDefault();
    var _count = int.Parse(_data.Attribute("count").Value);
    if(_count > 0)
    {
        var listType = _data.Attribute("listtype").Value;
        _objectCollection = new QueryObjectCollection(listType);
        foreach (var item in _data.Elements(listType))
        {
            var recordNo = item.Element("RECORDNO");
            if (recordNo != null)
            {
                _objectCollection.Keys.Add(recordNo.Value);
                _objectCollection.Objects.Add(item);
            }
        }
    }
}

@用于访问由_数据表示的XElement上的XAttributes,而表示法访问子XElement。 您的C端口应如下所示:

if (successNode != null)
{
    var _data = xDoc.Descendants("data").FirstOrDefault();
    var _count = int.Parse(_data.Attribute("count").Value);
    if(_count > 0)
    {
        var listType = _data.Attribute("listtype").Value;
        _objectCollection = new QueryObjectCollection(listType);
        foreach (var item in _data.Elements(listType))
        {
            var recordNo = item.Element("RECORDNO");
            if (recordNo != null)
            {
                _objectCollection.Keys.Add(recordNo.Value);
                _objectCollection.Objects.Add(item);
            }
        }
    }
}

我会加载ILspy或类似的工具,查看C输出,根据需要进行调整。也许这会有所帮助:请注意,有一些转换器可用于将VB.Net代码转换为C。显然,一些在线转换器不处理代码中的XML文本,但我发现有形的可以处理更多棘手的情况,包括这一个。请注意,除了作为他们软件的免费版本的用户之外,我没有连接到有形的。我将加载ILspy或类似的软件,并查看C输出,根据需要调整..也许这会有帮助:请注意,有转换器可用于将VB.Net代码转换为C。显然,一些在线转换器不处理代码中的XML文本,但我发现有形的处理更多棘手的情况,包括这一个。请注意,除了作为他们软件的免费版本的用户之外,我没有连接到有形的。