2

我无法从此页面上的 C# 示例中在 VB.Net 中获得相同的结果:

C# 示例返回“对象”,但在 VB.Net 中我得到“1”。任何想法如何获得相同的结果?

C#:

JToken t1 = JToken.Parse("{}");
Console.WriteLine(t1.Type);
// Object

VB:

Dim t1 As JToken = JToken.Parse("{}")
Console.WriteLine(t1.Type)
// 1
4

2 回答 2

5

j1.Type 实际上是一个枚举(JTokenType),它的值为1,所以它们是一样的

public enum JTokenType
{
    // Summary:
    //     No token type has been set.
    None = 0,
    //
    // Summary:
    //     A JSON object.
    Object = 1,
    //
    // Summary:
    //     A JSON array.
    Array = 2,
    //
    // Summary:
    //     A JSON constructor.
    Constructor = 3,
    //
    // Summary:
    //     A JSON object property.
    Property = 4,
    //
    // Summary:
    //     A comment.
    Comment = 5,
    //
    // Summary:
    //     An integer value.
    Integer = 6,
    //
    // Summary:
    //     A float value.
    Float = 7,
    //
    // Summary:
    //     A string value.
    String = 8,
    //
    // Summary:
    //     A boolean value.
    Boolean = 9,
    //
    // Summary:
    //     A null value.
    Null = 10,
    //
    // Summary:
    //     An undefined value.
    Undefined = 11,
    //
    // Summary:
    //     A date value.
    Date = 12,
    //
    // Summary:
    //     A raw JSON value.
    Raw = 13,
    //
    // Summary:
    //     A collection of bytes value.
    Bytes = 14,
    //
    // Summary:
    //     A Guid value.
    Guid = 15,
    //
    // Summary:
    //     A Uri value.
    Uri = 16,
    //
    // Summary:
    //     A TimeSpan value.
    TimeSpan = 17,
}

尝试这个:

JToken t1 = JToken.Parse("{}");
Console.WriteLine((int)t1.Type);
于 2013-05-29T12:12:31.990 回答
0

这段代码在 VB.Net 中对我有用:

Dim t1 As JToken = JToken.Parse("{}")
Console.WriteLine((t1.Type).ToString)
//Object
于 2013-05-29T12:26:03.760 回答