Tree data structure in C#

My best advice would be that there is no standard tree data structure because there are so many ways you could implement it that it would be impossible to cover all bases with one solution. The more specific a solution, the less likely it is applicable to any given problem. I even get annoyed with … Read more

Collection was modified; enumeration operation may not execute

What’s likely happening is that SignalData is indirectly changing the subscribers dictionary under the hood during the loop and leading to that message. You can verify this by changing To If I’m right, the problem will disappear. Calling subscribers.Values.ToList() copies the values of subscribers.Values to a separate list at the start of the foreach. Nothing else has access to this list (it … Read more

How do I remedy “The breakpoint will not currently be hit. No symbols have been loaded for this document.” warning?

Start debugging, as soon as you’ve arrived at a breakpoint or used Debug > Break All, use Debug > Windows > Modules. You’ll see a list of all the assemblies that are loaded into the process. Locate the one you want to get debug info for. Right-click it and select Symbol Load Information. You’ll get a dialog … Read more

Select distinct using linq

Edit: as getting this IEnumerable<> into a List<> seems to be a mystery to many people, you can simply write: But one is often better off working with the IEnumerable rather than IList as the Linq above is lazily evaluated: it doesn’t actually do all of the work until the enumerable is iterated. When you call ToList it actually walks the entire enumerable forcing all … Read more

What does {0} mean when found in a string in C#?

You are printing a formatted string. The {0} means to insert the first parameter following the format string; in this case the value associated with the key “rtf”. For String.Format, which is similar, if you had something like you’d create a string “This is a test. The value is 42“. You can also use expressions, and print … Read more