c#之获取本机主机名的四种方式总结

 更新时间:2023年07月12日 09:51:19   作者:张伟杰-Vijay  
这篇文章主要介绍了c#之获取本机主机名的四种方式总结,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

获取本机主机名的四种方式

获取本机 NetBIOS 名称

lineLog.Computer = Environment.MachineName;

获取本机 NetBIOS 名称

string a = SystemInformation.ComputerName;

获取本机主机名,前提是引用 System.Net

using System.Net;
string b = Dns.GetHostName();
string d = Dns.GetHostEntry("localhost").HostName;

检索环境变量“computername”的值

string c = Environment.GetEnvironmentVariable("computername");

这是我的计算机的名称:

先看一下它们运行的结果:

四种方法的区别

首先是第一种和第二种方法,它们返回的值是一样的,都是本机的NetBIOS名称,可以说这两种方法是一样的。那么什么是NetBIOS名称呢?

如果想更改NetBIOS名称,直接修改计算机名称就可以了,只不过NetBIOS名称只会取计算机名称的前15个字符。

所以看上图就可以发现,NetBIOS名称只有我计算机名称的前15位。

第三种方法获得的是计算机名,也可以获得计算机全名。计算机全名就是你的主机名+主DNS后缀,默认的主DNS后缀是空的,但是自己可以更改。详细情况请看上图。

第四种方法获得的是本机环境变量名为“computername”的值,此值也可以自己更改,但是默认的就是你的计算机名。

主机名和NetBIOS名称的区别

那么主机名和NetBIOS名称有什么区别呢?

其实它们的作用是相同的,都只是计算机的一个名称而已,都是为了标识计算机的,利用网络协议,可以将计算机名称和ip地址映射。

它们的不同之处就在于:计算机名称和ip地址映射时用的协议不同。

主机名和ip地址解析有两种方法:

  • 一是利用NetBIOS协议
  • 二是通过DNS服务器

当使用NetBIOS协议时,使用的就是NetBIOS名称;如果使用DNS服务器解析,使用的就是计算机名。

因为NetBIOS占用系统资源少、传输效率高,所以多适用于小型的局域网,所以第一种和第二种方法返回的NetBIOS名称只在局域网内可见,而第三种方法返回的主机名是基于TCP/IP协议的。

下面举个例子:

我们可以在“运行”里输入 \\name\sharehttp://name/share来访问共享资源,此时的name确切的说是用的那个名称呢?

\\NetBIOS名称\share
http://主机名/share

如果想看纯英的解释,请点击下面这个链接:Difference between SystemInformation.ComputerName, Environment.MachineName, and Net.Dns.GetHostName

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • C#设计模式之单例模式

    C#设计模式之单例模式

    这篇文章介绍了C#设计模式之单例模式,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-03-03
  • C#模拟实现鼠标自动点击与消息发送功能

    C#模拟实现鼠标自动点击与消息发送功能

    这篇文章主要为大家详细介绍了C#如何利用windows api来模拟实现鼠标点击、右击、双击以及发送文本功能,文中的示例代码讲解详细,感兴趣的可以了解一下
    2022-08-08
  • C#中调用VB中Inputbox类的实现方法

    C#中调用VB中Inputbox类的实现方法

    本文主要介绍在项目中引用Microsoft.VisualBasic,间接使用VB中的各种类库的方法,或者自己创建函数,调用自定义方法,以实现InputBox相关的功能。
    2016-05-05
  • C#中的char与string详解

    C#中的char与string详解

    本文详细讲解了C#中的char与string,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-01-01
  • C#判断网站是否能访问或者断链的方法

    C#判断网站是否能访问或者断链的方法

    这篇文章主要介绍了C#判断网站是否能访问或者断链的方法,实例分析了C#判断网站是否能访问的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-07-07
  • unity 文件流读取图片与www读取图片的区别介绍

    unity 文件流读取图片与www读取图片的区别介绍

    这篇文章主要介绍了unity 文件流读取图片与www读取图片的对比分析,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-04-04
  • C#关键字in、out、ref的作用与区别

    C#关键字in、out、ref的作用与区别

    这篇文章介绍了C#关键字in、out、ref的作用与区别,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-04-04
  • C#实现Excel动态生成PivotTable

    C#实现Excel动态生成PivotTable

    这篇文章主要为大家详细介绍了C#实现Excel动态生成PivotTable的相关方法,感兴趣的小伙伴们可以参考一下
    2016-04-04
  • C#实现人民币大写转换示例代码

    C#实现人民币大写转换示例代码

    这篇文章主要介绍了C#实现人民币大写转换,需要的朋友可以参考使用
    2013-12-12
  • C#中overrid和new修饰符有什么不同

    C#中overrid和new修饰符有什么不同

    在C#的继承中尝尝会用到相关的修饰词:override和new。这两个修饰符都可以在新的子类中,重写同名的父类方法。下面通过本文给大家介绍C#中overrid和new修饰符的区别,感兴趣的朋友一起看看吧
    2018-02-02

最新评论