C# 获得本地通用网卡信息的示例代码
程序员文章站
2022-04-01 13:08:11
可以通过使用命名空间下的managementobjectsearcher类及其方法get来获得通用网卡信息。其中,最重要的是managementobjectsearcher构造函数的输入参数,可以传入...
可以通过使用命名空间下的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# 获得网卡信息的资料请关注其它相关文章!
上一篇: 腾讯公布4款全新功能游戏 媲美高中老师
下一篇: IDEA怎么切换Git分支的实现方法