JToken.Value<T>(object key)
和JToken.ToObject<T>()
之间在类型转换方面的内在区别是什么?
因为此代码:
JToken token = ...;
T first = token["name"].ToObject<Guid?>();
T second = token.Value<Guid?>("name");
第一行代码成功,但第二行失败,并显示InvalidCastException String-> Guid
我更喜欢使用第二个(不需要对token["name"]
进行空检查),但不理解为什么当第一个是...时它不起作用。