And the prize for the most stupid error messages goes to....
-
Microsoft C#. I set a function parameter (string myVar = string.Empty) and got: Default parameter value for 'myVar' must be a compile-time constant I fail to see how anything could be more constant than string.Empty.... :laugh:
I raise you a SQL error.. [Error Message] TITLE: SQL Server Setup failure. ------------------------------ SQL Server Setup has encountered the following error: The given key was not present in the dictionary.. For help, click: ------------------------------ BUTTONS: OK ------------------------------ [/Error Message] In the end, it was not happy about an IP address in the cluster.
Common sense is admitting there is cause and effect and that you can exert some control over what you understand.
-
Nope, it's much better! :laugh:
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay... AntiTwitter: @DalekDave is now a follower!
What!!! I've been extremely anal about using string.Empty instead of "" and you tell me it's the lesser option.
Never underestimate the power of human stupidity RAH
-
You should give your variables meaningful names.
-
So "" != String.Empty ? :laugh:
Now is it bad enough that you let somebody else kick your butts without you trying to do it to each other? Now if we're all talking about the same man, and I think we are... it appears he's got a rather growing collection of our bikes.
Run this code
if (ReferenceEquals(string.Empty, ""))
{
Console.WriteLine("\"\" is the same as String.Empty");
}String.Empty and "" are likely to reference the same memory location so they are effectively the same (There's a name for this combining of string resources but I forget what it is). The problem with using String.Empty as a default value for a function parameter is that it's not a COMPILE time constant. The value stored in String.Empty is a reference to the string "" stored in memory and that reference doesn't get set until the program starts and the string "" gets loaded into memory. Because how can you have a reference to a memory location before the program has started? So basically this error message is 100% accurate. It wanted a compile time constant but was given a runtime constant and it said "That's not good enough, mate".
-
Run this code
if (ReferenceEquals(string.Empty, ""))
{
Console.WriteLine("\"\" is the same as String.Empty");
}String.Empty and "" are likely to reference the same memory location so they are effectively the same (There's a name for this combining of string resources but I forget what it is). The problem with using String.Empty as a default value for a function parameter is that it's not a COMPILE time constant. The value stored in String.Empty is a reference to the string "" stored in memory and that reference doesn't get set until the program starts and the string "" gets loaded into memory. Because how can you have a reference to a memory location before the program has started? So basically this error message is 100% accurate. It wanted a compile time constant but was given a runtime constant and it said "That's not good enough, mate".
I wasn't too serious :laugh: However, I think it would make sense if Microsoft actually allow parameters to have a default value of string.Empty instead of "". It's always been pushed as being a bad practice to have 'magic strings' in code.
Now is it bad enough that you let somebody else kick your butts without you trying to do it to each other? Now if we're all talking about the same man, and I think we are... it appears he's got a rather growing collection of our bikes.
-
Microsoft C#. I set a function parameter (string myVar = string.Empty) and got: Default parameter value for 'myVar' must be a compile-time constant I fail to see how anything could be more constant than string.Empty.... :laugh:
Many of you may not be old enough to remember this one. Dumbest error message I ever saw was from early Microsoft DOS: Keyboard not found. Press Enter to continue.
-
Microsoft C#. I set a function parameter (string myVar = string.Empty) and got: Default parameter value for 'myVar' must be a compile-time constant I fail to see how anything could be more constant than string.Empty.... :laugh:
-
If it is set to readonly so can never change, doesn't that make it constant?
Bro... Readonly field / variable is not the same as constant. I thought it was a very basic knowledge. It seems that I was wrong.
-
Microsoft C#. I set a function parameter (string myVar = string.Empty) and got: Default parameter value for 'myVar' must be a compile-time constant I fail to see how anything could be more constant than string.Empty.... :laugh:
Nah, it's this one: I ran into a nasty little problem while creating the .CAB file which contains the installation, since I have a thousand sound files, which is more than the cabwiz.exe which comes with Visual Studio 2008 can accommodate…and the error code for this defect is completely unhelpful, in the grand Microsoft tradition: Error: File c:\users\[me]\appdata\local\temp\wizbbe1.inf contains DirIDs, which are not supported ERROR: The Windows CE CAB Wizard encountered an error. See the output window for more information. It turns out that VS2008’s cabwiz.exe chokes on more than 998 included files, and this application has 1057. The workaround is to download the SDK for Windows Mobile 6 and use the cabwiz.exe (and the cabwiz.ddf) from that version instead (C:\Program Files\Microsoft Visual Studio 9.0\SmartDevices\SDK\SDKTools\CabWiz.exe and CabWiz.ddf with the ones under C:\Program Files\Windows Mobile 6 SDK\Tools\CabWiz). No problem once I had done this. Painful details: Win CE Audible Spanish Flashcards | Stuffilike.net[^]
-
Many of you may not be old enough to remember this one. Dumbest error message I ever saw was from early Microsoft DOS: Keyboard not found. Press Enter to continue.
Actually, that was from the ROM BIOS. (ANd I haven't tried in a while, but you can probably still get it)
Truth, James
-
Microsoft C#. I set a function parameter (string myVar = string.Empty) and got: Default parameter value for 'myVar' must be a compile-time constant I fail to see how anything could be more constant than string.Empty.... :laugh:
Wait I can beat that. I got that same error message just this week, and this code (simplified):
Func Five = ()=>5;
void MyFunc(Func func = Five) { }
How is THAT not a constant?
Truth, James