Я использовал ответ, который начинался с
/// <summary> and it mostly worked:
//for some reason Visual Studio 2010 did not understand AddressFamily.Inernetwork
if (address.Address.AddressFamily != AddressFamily.InterNetwork)
Я должен был использовать:
if(address.Address.AddressFamily != System.Net.Sockets.AddressFamily.InterNetwork)
но я на самом деле использовал:
if(!address.Address.AddressFamily.Equals(System.Net.Sockets.AddressFamily.InterNetwork))
Также я добавил:
if (network.OperationalStatus != OperationalStatus.Up)
continue;
Поскольку были некоторые сети, которые не работали и никогда не должны были там быть, я видел, что они были в реестре.
--- Alvin