Convert UTC/GMT time to local time

For strings such as 2012-09-19 01:27:30.000, DateTime.Parse cannot tell what time zone the date and time are from. DateTime has a Kind property, which can have one of three time zone options: Unspecified Local Utc NOTE If you are wishing to represent a date/time other than UTC or your local time zone, then you should … Read more

How do I get the computer name in .NET

System.Environment.MachineName from a console or WinForms app. HttpContext.Current.Server.MachineName from a web app System.Net.Dns.GetHostName() to get the FQDN See How to find FQDN of local machine in C#/.NET ? if the last doesn’t give you the FQDN and you need it. See details about Difference between SystemInformation.ComputerName, Environment.MachineName, and Net.Dns.GetHostName

Why use async and return await, when you can return Task directly?

There is one sneaky case when return in normal method and return await in async method behave differently: when combined with using (or, more generally, any return await in a try block). Consider these two versions of a method: Task<SomeResult> DoSomethingAsync() { using (var foo = new Foo()) { return foo.DoAnotherThingAsync(); } } async Task<SomeResult> … Read more

When should I use a struct instead of a class?

MSDN has the answer: Choosing Between Classes and Structures. Basically, that page gives you a 4-item checklist and says to use a class unless your type meets all of the criteria. Do not define a structure unless the type has all of the following characteristics: It logically represents a single value, similar to primitive types … Read more

What is C# analog of C++ std::pair?

Tuples are available since .NET4.0 and support generics: Tuple<string, int> t = new Tuple<string, int>(“Hello”, 4); In previous versions you can use System.Collections.Generic.KeyValuePair<K, V> or a solution like the following: public class Pair<T, U> { public Pair() { } public Pair(T first, U second) { this.First = first; this.Second = second; } public T First … Read more

What is the difference between String.Empty and “” (empty string)?

In .NET prior to version 2.0, “” creates an object while string.Empty creates no objectref, which makes string.Empty more efficient. In version 2.0 and later of .NET, all occurrences of “” refer to the same string literal, which means “” is equivalent to .Empty, but still not as fast as .Length == 0. .Length == … Read more

Exception messages in English?

This issue can be partially worked around. The Framework exception code loads the error messages from its resources, based on the current thread locale. In the case of some exceptions, this happens at the time the Message property is accessed. For those exceptions, you can obtain the full US English version of the message by … Read more

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