C# 获得本地通用网卡信息的示例代码

 更新时间:2020年08月07日 14:51:24   作者:cnxy  
这篇文章主要介绍了C# 获得本地通用网卡信息的示例代码,帮助大家更好的理解和学习c#,感兴趣的朋友可以了解下

可以通过使用命名空间下的ManagementObjectSearcher类及其方法Get来获得通用网卡信息。

其中,最重要的是ManagementObjectSearcher构造函数的输入参数,可以传入以下的QueryString。

SELECT * FROM Win32_NetworkAdapterConfiguration

以下的例子为将本地网卡的配置信息写入一个文件并保存,代码如下:

using System.IO;
using System.Linq;
using System.Management;

namespace ConsoleApp
{
  class Program
  {
    static void Main(string[] args)
    {
      ManagementObjectSearcher managementObjectSearcher = new ManagementObjectSearcher("SELECT * FROM Win32_NetworkAdapterConfiguration") ;
      ManagementObjectCollection managementObjectCollection = managementObjectSearcher.Get();
      StreamWriter writer = new StreamWriter("result.csv");
      bool isFirstRow = true;
      foreach (ManagementObject managementObject in managementObjectCollection)
      {
        string header = string.Empty;
        string content = string.Empty;
        string separator1 = ",";
        string separator2 = " | ";
        foreach (var item in managementObject.Properties)
        {
          if (isFirstRow)
          {
            header = $"{header}{separator1}{item.Name}";
          }
          string valueTemp = string.Empty;
          if (item.Value != null)
          {
            if (item.Value is string[] || item.Value is ushort[])
            {
              string[] valuesStrTemp;
              if(item.Value is ushort[])
                valuesStrTemp = ((ushort[])item.Value).Select(x => x.ToString()).ToArray();
              else
                valuesStrTemp = item.Value as string[];

              for (int i = 0; i < valuesStrTemp.Length; i++)
              {
                valueTemp = $"{valueTemp}{separator2}{valuesStrTemp[i]}";
              }
              if(valuesStrTemp.Length != 0)
                valueTemp = valueTemp.Remove(0, separator2.Length);
            }
            else
              valueTemp = item.Value.ToString();
          }
          content = $"{content}{separator1}{valueTemp}";
        }
        if (isFirstRow)
        {
          header = header.Remove(0, separator1.Length);
          writer.WriteLine(header);
          isFirstRow = false;
        }
        content = content.Remove(0, separator1.Length);
        writer.WriteLine(content);
      }
      writer.Close();
    }
  }
}

运行结果如下:

以上就是C# 获得本地通用网卡信息的示例代码的详细内容,更多关于c# 获得网卡信息的资料请关注脚本之家其它相关文章!

相关文章

  • C#实现简单打字小游戏

    C#实现简单打字小游戏

    这篇文章主要为大家详细介绍了C#实现简单打字小游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-05-05
  • c#批量整理xml格式示例

    c#批量整理xml格式示例

    这篇文章主要介绍了c#批量整理xml格式示例,win7的x64和x86系统下已验证通过,需要的朋友可以参考下
    2014-03-03
  • C#实现Stream与byte[]之间的转换实例教程

    C#实现Stream与byte[]之间的转换实例教程

    这篇文章主要介绍了C#实现Stream与byte[]之间的转换方法,具体讲解了二进制转换成图片、byte[]与string的转换、Stream 和 byte[] 之间的转换、Stream 和 文件之间的转换、从文件读取 Stream以及Bitmap 转化为 Byte[]等,需要的朋友可以参考下
    2014-09-09
  • C#实现同步模式下的端口映射程序

    C#实现同步模式下的端口映射程序

    这篇文章介绍了C#实现同步模式下的端口映射程序,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-06-06
  • C#命令模式用法实例

    C#命令模式用法实例

    这篇文章主要介绍了C#命令模式用法,以实例形式较为详细的分析了C#命令模式的功能、定义及使用技巧,需要的朋友可以参考下
    2015-07-07
  • C#基础教程之类class与结构struct的区别

    C#基础教程之类class与结构struct的区别

    struct是值类型,创建一个struct类型的实例被分配在栈上,class是引用类型,创建一个class类型实例被分配在托管堆上,下面这篇文章主要给大家介绍了关于C#基础教程之类class与结构struct区别的相关资料,需要的朋友可以参考下
    2022-11-11
  • 使用C#实现读取PDF中所有文本内容

    使用C#实现读取PDF中所有文本内容

    这篇文章主要为大家详细介绍了如何使用C#实现读取PDF中所有文本内容,文中的示例代码简洁易懂,具有一定的学习价值,有需要的小伙伴可以了解下
    2024-02-02
  • C# .NET创建虚拟目录的方法详解

    C# .NET创建虚拟目录的方法详解

    虚拟目录(virtual directory),计算机术语,每个 Internet服务可以从多个目录中发布。本文将为大家介绍如何通过C# asp.net mvc 创建虚拟目录,感兴趣的可以了解一下
    2022-01-01
  • C#中static void Main(string[] args) 参数示例详解

    C#中static void Main(string[] args) 参数示例详解

    这篇文章主要介绍了C#中static void Main(string[] args) 参数详解,本文通过具体示例给大家介绍的非常详细,需要的朋友可以参考下
    2017-03-03
  • c#匹配整数和小数的正则表达式

    c#匹配整数和小数的正则表达式

    c#中使用正则表达式需要加入using System.Text.RegularExpressions的引用
    2010-12-12

最新评论