Why is Dictionary preferred over Hashtable in C#?

For what it’s worth, a Dictionary is (conceptually) a hash table. If you meant “why do we use the Dictionary<TKey, TValue> class instead of the Hashtable class?”, then it’s an easy answer: Dictionary<TKey, TValue> is a generic type, Hashtable is not. That means you get type safety with Dictionary<TKey, TValue>, because you can’t insert any … Read more

How do I update the GUI from another thread?

The simplest way is an anonymous method passed into Label.Invoke: // Running on the worker thread string newText = “abc”; form.Label.Invoke((MethodInvoker)delegate { // Running on the UI thread form.Label.Text = newText; }); // Back on the worker thread Notice that Invoke blocks execution until it completes–this is synchronous code. The question doesn’t ask about asynchronous … Read more

Why not inherit from List?

There are some good answers here. I would add to them the following points. What is the correct C# way of representing a data structure, which, “logically” (that is to say, “to the human mind”) is just a list of things with a few bells and whistles? Ask any ten non-computer-programmer people who are familiar … Read more

How to loop through all enum values in C#? [duplicate]

Yes you can use the ‍GetValue‍‍‍s method: var values = Enum.GetValues(typeof(Foos)); Or the typed version: var values = Enum.GetValues(typeof(Foos)).Cast<Foos>(); I long ago added a helper function to my private library for just such an occasion: public static class EnumUtil { public static IEnumerable<T> GetValues<T>() { return Enum.GetValues(typeof(T)).Cast<T>(); } } Usage: var values = EnumUtil.GetValues<Foos>();

Calling the base constructor in C#

Modify your constructor to the following so that it calls the base class constructor properly: public class MyExceptionClass : Exception { public MyExceptionClass(string message, string extrainfo) : base(message) { //other stuff here } } Note that a constructor is not something that you can call anytime within a method. That’s the reason you’re getting errors … Read more

Hata!: SQLSTATE[HY000] [1045] Access denied for user 'divattrend_liink'@'localhost' (using password: YES)