2015-09-30 9 views
6
string machineName = System.Environment.MachineName; 

इस कोड मेरे लिए काम नहीं करता है, त्रुटि कोड 'पर्यावरण' 'MachineName'कैसे सी # में एक Windows 10 सार्वभौमिक अनुप्रयोग पर स्थानीय होस्ट नाम पाने के लिए

मैं के लिए एक परिभाषा शामिल नहीं है विजुअल स्टूडियो 2015 और सी #

के साथ सार्वभौमिक ऐप का उपयोग करके कृपया उत्तर पोस्ट करते समय उपयोग करने के लिए आवश्यक नामस्थान को भी सूचीबद्ध करें।

+1

सिर्फ अनुमान लगा - https://msdn.microsoft.com/en-us/library/windows/apps/windows.networking.connectivity.networkinformation। gethostnames.aspx? – quetzalcoatl

+0

काम नहीं कर रहा है। उस फ़ंक्शन को भी नहीं मिला है, मैं विंडोज़ का उपयोग करता हूं। नेटवर्किंग। कनेक्टिविटी नेमस्पेस – Jerry

उत्तर

13

आपको NetworkInformation.GetHostNames का उपयोग करने की आवश्यकता है।

var hostNames = Windows.Networking.Connectivity.NetworkInformation.GetHostNames(); 

लेकिन ध्यान दें कि यह विधि एकाधिक HostName एस वापस कर देगी।

मेरे मामले में, यह रिटर्न चार HostName रों जिनमें से DisplayName रों MyComputerName, MyComputerName.local और दो IP पते हैं।

तो मुझे लगता है कि यह शायद करने के लिए सुरक्षित है -

using Windows.Networking; 
using Windows.Networking.Connectivity; 


var hostNames = NetworkInformation.GetHostNames(); 
var hostName = hostNames.FirstOrDefault(name => name.Type == HostNameType.DomainName)?.DisplayName ?? "???"; 
+1

धन्यवाद, यह काम करता है। – Jerry

संबंधित मुद्दे