注意:这是Windows RT!我感到非常惊讶,我在LinqPad中尝试过这种方法并不好用。
查看VS立即窗口的输出:
string str = "503";
"503"
var charArray = str.ToCharArray();
{char[3]}
[0]: 53 '5'
[1]: 48 '0'
[2]: 51 '3'
string str2 = new String(charArray);
'new String(charArray)' threw an exception of type 'System.ArgumentException'
new String(charArray);
'new String(charArray)' threw an exception of type 'System.ArgumentException'
base: {"Value does not fall within the expected range."}
m_paramName: null
Message: "Value does not fall within the expected range."
ParamName: null
这里发生了什么?
由于
答案 0 :(得分:3)
这确实是VS表达式求值程序中的一个错误(由立即窗口使用)。 Visual Studio 2015已修复此问题(您可以尝试最新的CTP,包括修复程序here)。
答案 1 :(得分:2)
感谢Dirk指出它实际上在Windows Store应用程序本身编码时执行。我把它归类为VS IDE中的一个错误。
https://connect.microsoft.com/VisualStudio/feedback/details/1019365