Example #1
0
        public NetworkMonitor()
        {
            string[] _instances = new PerformanceCounterCategory(CATEGORYNAME).GetInstanceNames();

            NetworkInterface[] _nics = NetworkInterface.GetAllNetworkInterfaces().Where(n =>
                n.OperationalStatus == OperationalStatus.Up &&
                new NetworkInterfaceType[2] { NetworkInterfaceType.Ethernet, NetworkInterfaceType.Wireless80211 }.Contains(n.NetworkInterfaceType)
                ).ToArray();

            Regex _regex = new Regex("[^A-Za-z]");

            Nics = _instances.Join(_nics, i => _regex.Replace(i, ""), n => _regex.Replace(n.Description, ""), (i, n) => new NicInfo(i, n.Description, string.Join(":", n.GetPhysicalAddress().GetAddressBytes().Select(b => b.ToString("X2")))), StringComparer.Ordinal).ToArray();
        }