Różnica między SystemInformation.ComputerName, Environment.MachineName i Net.Dns.GetHostName

Z tego, co widziałem w dokumentacji MSDN i innych pytaniach tutaj dotyczących SO, są cztery sposoby uzyskania lokalnej nazwy komputera.

Environment.MachineName;
System.Net.Dns.GetHostName();
System.Windows.Forms.SystemInformation.ComputerName;
System.Environment.GetEnvironmentVariable("COMPUTERNAME");

Czy istnieje różnica w sposobie, w jaki metody powrócą, czy też wszystkie będą zwracać dokładnie to samo przez cały czas?

Uwaga: Po raz pierwszy zobaczyłem listę w tym poście:Jak uzyskać nazwę komputera lokalnego?

questionAnswers(3)

yourAnswerToTheQuestion