關於C# 一些程式碼問題[已解決]
本帖最後由 diadorapolo 於 2017-8-27 16:54 編輯if (HandleList.Count > 0)
{
foreach (var HandleInformation in HandleList)
{
Process procService = Process.GetProcessById(HandleInformation.Id);
Console.WriteLine($"{procService.ProcessName} - {HandleInformation.hProcess.ToString("x2")}");
if (ElevateHandle(procService.Handle, HandleInformation.hProcess, true, true))
{
IntPtr hProcess = StartProcessAsUser(null, "{szCheatPath} {HandleInformation.hProcess}", null, true, procService.Handle);
ElevateHandle(procService.Handle, HandleInformation.hProcess, false, false);
break;
}
}
}
以上的程式碼 我編譯時出了錯誤:未預期字元$ ,還有那個ToString裡的x2 ,想請問是本身程式碼可以用$ 只是我少東西 還是本來就沒有$字元??!
Console.WriteLine($"{procService.ProcessName} - {HandleInformation.hProcess.ToString("x2")}");
這句只是寫 Console 顯示輸出,註解掉也不會有什麼影響
HandleInformation.hProcess.ToString("x2") 是 HandleInformation.hProcess.ToString("X2") 使用十六進位
$"" 是 字串內插 (String Interpolation) 寫法,在 IDE Visual Studio 2015 以上才能這樣寫
字串內插可以改用 string.format,這樣 Visual Studio 2013 以前就可以執行
樣子如下:
string msg = string.Format("{0} - {1:X2}", procService.ProcessName, HandleInformation.hProcess);
Console.WriteLine(msg); TED 發表於 2017-8-27 15:36 static/image/common/back.gif
Console.WriteLine($"{procService.ProcessName} - {HandleInformation.hProcess.ToString("x2")}");
這句 ...
非常感謝您的回覆,謝謝你解決我的問題 !!
你有Discord? 非常想與你一起學習 以上 TED 的說明非常正確,以下補充 string 常見的幾種方法:
// string 合併
var txt1 = procService.ProcessName + " - " + HandleInformation.hProcess.ToString("x2");
// string 格式化 ( 使用 string.Format() )
var txt2 = string.Format("{0} - {1:X2}", procService.ProcessName, HandleInformation.hProcess);
// string interpolation 串插值 ( 使用 $"" for VS2015 and later )
var txt3 = $"{procService.ProcessName} - {HandleInformation.hProcess.ToString("x2")}";
使用喜好見仁見智,但漸漸很多人喜歡 string interpolation,因為直觀、描述簡潔。
頁:
[1]