我无法从此页面上的 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
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);
这段代码在 VB.Net 中对我有用:
Dim t1 As JToken = JToken.Parse("{}")
Console.WriteLine((t1.Type).ToString)
//Object