c#之獲取本機(jī)主機(jī)名的四種方式總結(jié)
獲取本機(jī)主機(jī)名的四種方式
獲取本機(jī) NetBIOS 名稱(chēng)
lineLog.Computer = Environment.MachineName;
獲取本機(jī) NetBIOS 名稱(chēng)
string a = SystemInformation.ComputerName;
獲取本機(jī)主機(jī)名,前提是引用 System.Net
using System.Net;
string b = Dns.GetHostName();
string d = Dns.GetHostEntry("localhost").HostName;檢索環(huán)境變量“computername”的值
string c = Environment.GetEnvironmentVariable("computername");這是我的計(jì)算機(jī)的名稱(chēng):

先看一下它們運(yùn)行的結(jié)果:

四種方法的區(qū)別
首先是第一種和第二種方法,它們返回的值是一樣的,都是本機(jī)的NetBIOS名稱(chēng),可以說(shuō)這兩種方法是一樣的。那么什么是NetBIOS名稱(chēng)呢?

如果想更改NetBIOS名稱(chēng),直接修改計(jì)算機(jī)名稱(chēng)就可以了,只不過(guò)NetBIOS名稱(chēng)只會(huì)取計(jì)算機(jī)名稱(chēng)的前15個(gè)字符。
所以看上圖就可以發(fā)現(xiàn),NetBIOS名稱(chēng)只有我計(jì)算機(jī)名稱(chēng)的前15位。
第三種方法獲得的是計(jì)算機(jī)名,也可以獲得計(jì)算機(jī)全名。計(jì)算機(jī)全名就是你的主機(jī)名+主DNS后綴,默認(rèn)的主DNS后綴是空的,但是自己可以更改。詳細(xì)情況請(qǐng)看上圖。
第四種方法獲得的是本機(jī)環(huán)境變量名為“computername”的值,此值也可以自己更改,但是默認(rèn)的就是你的計(jì)算機(jī)名。

主機(jī)名和NetBIOS名稱(chēng)的區(qū)別
那么主機(jī)名和NetBIOS名稱(chēng)有什么區(qū)別呢?
其實(shí)它們的作用是相同的,都只是計(jì)算機(jī)的一個(gè)名稱(chēng)而已,都是為了標(biāo)識(shí)計(jì)算機(jī)的,利用網(wǎng)絡(luò)協(xié)議,可以將計(jì)算機(jī)名稱(chēng)和ip地址映射。
它們的不同之處就在于:計(jì)算機(jī)名稱(chēng)和ip地址映射時(shí)用的協(xié)議不同。
主機(jī)名和ip地址解析有兩種方法:
- 一是利用NetBIOS協(xié)議
- 二是通過(guò)DNS服務(wù)器
當(dāng)使用NetBIOS協(xié)議時(shí),使用的就是NetBIOS名稱(chēng);如果使用DNS服務(wù)器解析,使用的就是計(jì)算機(jī)名。
因?yàn)镹etBIOS占用系統(tǒng)資源少、傳輸效率高,所以多適用于小型的局域網(wǎng),所以第一種和第二種方法返回的NetBIOS名稱(chēng)只在局域網(wǎng)內(nèi)可見(jiàn),而第三種方法返回的主機(jī)名是基于TCP/IP協(xié)議的。
下面舉個(gè)例子:
我們可以在“運(yùn)行”里輸入 \\name\share 或 http://name/share來(lái)訪(fǎng)問(wèn)共享資源,此時(shí)的name確切的說(shuō)是用的那個(gè)名稱(chēng)呢?
\\NetBIOS名稱(chēng)\share http://主機(jī)名/share
如果想看純英的解釋?zhuān)?qǐng)點(diǎn)擊下面這個(gè)鏈接:Difference between SystemInformation.ComputerName, Environment.MachineName, and Net.Dns.GetHostName
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
C#檢查指定對(duì)象是否存在于A(yíng)rrayList集合中的方法
這篇文章主要介紹了C#檢查指定對(duì)象是否存在于A(yíng)rrayList集合中的方法,涉及C#中Contains方法的使用技巧,需要的朋友可以參考下2015-04-04
C#實(shí)現(xiàn)Excel文件轉(zhuǎn)Markdown表格
在撰寫(xiě)技術(shù)文檔或整理數(shù)據(jù)時(shí),我們常常需要將 Excel 表格轉(zhuǎn)為 Markdown 格式,本文將展示如何使用 C# 和 Spire.XLS 庫(kù),通過(guò)一行核心方法快速將 Excel 文件保存為 Markdown 文件,感興趣的小伙伴可以了解下2026-03-03
C#中使用Socket獲取網(wǎng)頁(yè)源代碼的代碼
C#使用Socket獲取網(wǎng)頁(yè)源代碼的代碼,需要的朋友可以參考下。2010-12-12
Unity實(shí)現(xiàn)輪盤(pán)方式的按鈕滾動(dòng)效果
這篇文章主要為大家詳細(xì)介紹了Unity實(shí)現(xiàn)輪盤(pán)方式的按鈕滾動(dòng)效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-02-02
C#編程報(bào)錯(cuò)System.InvalidOperationException問(wèn)題及解決
這篇文章主要介紹了C#編程報(bào)錯(cuò)System.InvalidOperationException問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-05-05
C#實(shí)現(xiàn)通過(guò)模板自動(dòng)創(chuàng)建Word文檔的方法
這篇文章主要介紹了C#實(shí)現(xiàn)通過(guò)模板自動(dòng)創(chuàng)建Word文檔的方法,詳細(xì)講述了C#生成Word文檔的實(shí)現(xiàn)方法,是非常實(shí)用的技巧,需要的朋友可以參考下2014-09-09
Unity實(shí)現(xiàn)主角移動(dòng)與攝像機(jī)跟隨
這篇文章主要為大家詳細(xì)介紹了Unity實(shí)現(xiàn)主角移動(dòng)與攝像機(jī)跟隨,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-03-03
c#根據(jù)文件類(lèi)型獲取相關(guān)類(lèi)型圖標(biāo)的方法代碼
c#根據(jù)文件類(lèi)型獲取相關(guān)類(lèi)型圖標(biāo)的方法代碼,需要的朋友可以參考一下2013-05-05
C# 漢字轉(zhuǎn)化拼音的簡(jiǎn)單實(shí)例代碼
C# 漢字轉(zhuǎn)化拼音的簡(jiǎn)單實(shí)例代碼,需要的朋友可以參考一下2013-04-04

