MrM*_*MrM 9 .net c# asp.net asp.net-mvc
我碰到了一个困扰我的虫子.我有JObject,我认为会很好
obj["role"].ToString()
Run Code Online (Sandbox Code Playgroud)
字符串在那里和一切.最后的手段是改为
(string)obj["role"]
Run Code Online (Sandbox Code Playgroud)
只是看看会发生什么,它的工作原理.我的问题是我怎么知道何时使用.ToString()而不是(字符串)而不是"as String".
jas*_*son 20
如果对象是a string,或者有一个显式的强制转换操作符(string),那么可以这么说
string s = (string)obj["role"];
Run Code Online (Sandbox Code Playgroud)
否则,这将给你一个InvalidCastException.
请注意,你可以这么说
string s = obj["role"] as String;
Run Code Online (Sandbox Code Playgroud)
将设置s为nullif obj["role"]不是的实例string.请注意,对于as显式转换运算符,将被忽略.
如果obj["role"]既不是string具有显式强制转换操作符的类的实例也不是string,则必须说明
string s = obj["role"].ToString();
Run Code Online (Sandbox Code Playgroud)
但要小心,后者可以抛出一个NullReferenceException.
| 归档时间: |
|
| 查看次数: |
3496 次 |
| 最近记录: |