這是我依靠Win32_ComputerSystemProduct
結構檢索主板的UUID的方法。針對無效UUID的自定義異常處理程序
#region "UUID"
public static string getUUID()
{
string UUID = string.Empty;
try
{
ManagementClass mc = new ManagementClass("Win32_ComputerSystemProduct");
ManagementObjectCollection moc = mc.GetInstances();
foreach (ManagementObject mo in moc)
{
UUID = mo.Properties["UUID"].Value.ToString();
break;
}
UUID = "";
if (UUID.Equals(string.Empty)
|| UUID.Equals("")
|| UUID.Equals(null)
|| UUID.Equals("FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF")
|| UUID.Equals("00000000-0000-0000-0000-000000000000"))
{
throw new System.Exception("UUID is invalid.");
}
return UUID;
}
catch (Exception ex)
{
Console.WriteLine("Error Message: " + ex.Message);
}
return UUID;
}
#endregion
我有拋出套內字符串是我列出的一個錯誤,因爲C#隱含不知道,像FFF...FFF
一個字符串無效/錯誤內置的異常處理程序。
我重新定義了UUID = "";
來測試這個方法,比如說運行這個腳本的用戶有一個空白的UUID。
我想知道 - 這是正確的做法嗎?我不確定return UUID
即使它是空白仍然返回UUID,或FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF
。
'.Equals(string.Empty)'和'.Equals(「」)'是相同的。 – Joey
'.IsNullOrEmpty'應該在這裏使用。 – James
你確定嗎?我讀到他們是完全不同的。哦,這不會影響性能,所以我會把它留在那裏。 – theGreenCabbage