0
我有這方面的工作查詢對字符串變量WMI轉義字符編程
ManagementObject pnpdevice = new ManagementObjectSearcher(String.Format(
"select * from Win32_PnPEntity where DeviceID='{0}'",
"USB\\\\VID_046D&PID_C52B&MI_00\\\\6&48E0D58&0&0000")).First();
這裏我才意識到,我需要使用四斜線一個斜線:兩人在C#中逃脫,兩個WMI逃跑。
我的問題是如何以編程方式而不是手動執行此操作。通常我當然會使用字符串逃脫前面的@
,所以這個作品,以及:
ManagementObject pnpdevice = new ManagementObjectSearcher(String.Format(
"select * from Win32_PnPEntity where DeviceID='{0}'",
@"USB\\VID_046D&PID_C52B&MI_00\\6&48E0D58&0&0000")).First();
,但我怎麼做,與一個字符串變量?
ManagementObject pnpdevice = new ManagementObjectSearcher(String.Format(
"select * from Win32_PnPEntity where DeviceID='{0}'",
device["DeviceID"].ToString())).First();
這沒有我需要的任何轉義,並且作爲無效查詢失敗。寫它@device["DeviceID"].ToString()
不起作用。
有什麼想法?
只是FYI,這是行不通的。 'ManagementObjectSearcher'不是一個集合,也不會繼承'IEnumberable',所以你不能調用First()。 –