?new string(new char[]{'1'})
A first chance exception of type 'System.InvalidOperationException' occurred in mscorlib.dll
'new string(new char[]{'1'})' threw an exception of type 'System.InvalidOperationException'
base {System.SystemException}: {"InvalidOperationException"}
If I typed the same expression into a normal C# desktop app .Net 3.5 application, this is what I got:
?new string(new char[]{'1'})
'new string(new char[]{'1'})' threw an exception of type 'System.ArgumentException'
base {System.SystemException}: {"Only NewString function evaluation can create a new string."}
Message: "Only NewString function evaluation can create a new string."
ParamName: null
I'm exteremly puzzeled. Anyone have any ideas?
2 comments:
Hi,
NewString is the name of the command which is used in CorDbg. Since we are not using CorDbg, getting this exception is very silly.
I currently use a not-so-nice workaround for this.
In "Immediate Window", I create and instance of StringBuilder, append char array, and call ToString of string builder.
StringBuilder sb = new StringBuilder();
sb.Append(new char[] {'1', '2', '3'});
sb.ToString()
System.IO.File.WriteAllText( "c:\\temp\\doNotTryAtHome.txt", sb.ToString())
So that works. Using Reflector, the Append method converts the char[] to a string using some pointer magic. The String(char[]) constructor actually makes some low level call that won't show up in Reflector. Must be a bug.
It would still be nice to not have to jump through such a hoop though.
Post a Comment