C Sharp: Difference between revisions
From Wildsong
Jump to navigationJump to search
Brian Wilson (talk | contribs) mNo edit summary |
Brian Wilson (talk | contribs) mNo edit summary |
||
Line 10: | Line 10: | ||
public const string foo = "I am read - only"; // happens at compile time | public const string foo = "I am read - only"; // happens at compile time | ||
Check the debugger, you can see before the first line executes that foo = null. | |||
Since it happens at load time, you can do this | |||
public static readonly string foo = | public static readonly string foo = Something.StringThing(); | ||
so the value is set once, and it's done atomically so it is thread-safe. | so the value is set once, and it's done atomically so it is thread-safe. | ||
== Preprocessor Directives == | == Preprocessor Directives == |
Revision as of 23:40, 23 May 2012
I wanted this page to be called C# but apparently mediawiki did not approve. Oh well. Maybe I will put all things beginning with the letter 'c' here.
readonly
Yes, there is a readonly setting for variables. One would think 'const' would be enough. Aren't these the same?
public static readonly string foo = "I am read - only."; // happens at program load public const string foo = "I am read - only"; // happens at compile time
Check the debugger, you can see before the first line executes that foo = null. Since it happens at load time, you can do this
public static readonly string foo = Something.StringThing();
so the value is set once, and it's done atomically so it is thread-safe.
Preprocessor Directives
#if DEBUG http://codeidol.com/csharp/essential-csharp/Operators-and-Control-Flow/Csharp-Preprocessor-Directives/ #endif
What about things in square brackets
That I can't type in a wiki, like "bracket CommandLine bracket"
When would I ever use a Struct?
Read the official documentation here.