冰楓論壇

 找回密碼
 立即註冊
查看: 215|回覆: 3
打印 上一主題 下一主題

[求助] 關於C# 一些程式碼問題[已解決]

[複製鏈接]

6

主題

2

好友

24

積分

新手上路

Rank: 1

UID
119799
帖子
26
主題
6
精華
0
積分
24
楓幣
42
威望
23
存款
0
贊助金額
0
推廣
0
GP
6
閱讀權限
10
性別
在線時間
19 小時
註冊時間
2015-10-23
最後登錄
2018-2-18
跳轉到指定樓層
1
發表於 2017-8-27 14:22:14 |只看該作者 |倒序瀏覽
本帖最後由 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 ,想請問是本身程式碼可以用$ 只是我少東西 還是本來就沒有$字元??!
[發帖際遇]: diadorapolo 揪團參加「台灣國防部」舉辦的「阿帕契」展覽,繳交門票費 1 楓幣. 幸運榜 / 衰神榜
收藏收藏0 推0 噓0
把本文推薦給朋友或其他網站上, 有用戶註冊將增加您在本站積分: 1威望. 1推廣

23

主題

7

好友

4214

積分

技術師

抓蟲大隊

Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15

UID
22037
帖子
2283
主題
23
精華
2
積分
4214
楓幣
152
威望
4083
存款
39515
贊助金額
300
推廣
0
GP
0
閱讀權限
100
性別
在線時間
326 小時
註冊時間
2013-2-1
最後登錄
2018-2-25

懶人勳章 幼兒勳章 性別(男) 性別(女) 富豪勳章 富可敵國 2015年紀念勳章 神手勳章 太陽勳章 積分勳章 私服達人 音樂勳章 高級客戶 VIP會員 除蟲大隊 論壇粉絲 解說達人 發帖達人 2015中秋節紀念勳章 Android勳章 2015聖誕節紀念勳章 2016年紀念勳章 版主勳章 精華帖 Apple勳章 論壇支持王 2017年紀念勳章 核心勳章 熱心助人 長老勳章

2
發表於 2017-8-27 15:36:06 |只看該作者
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 費了「洪荒之力」勇奪奧運金牌,獲得獎金 2 楓幣. 幸運榜 / 衰神榜
回覆

使用道具 舉報

6

主題

2

好友

24

積分

新手上路

Rank: 1

UID
119799
帖子
26
主題
6
精華
0
積分
24
楓幣
42
威望
23
存款
0
贊助金額
0
推廣
0
GP
6
閱讀權限
10
性別
在線時間
19 小時
註冊時間
2015-10-23
最後登錄
2018-2-18
3
發表於 2017-8-27 16:53:47 |只看該作者
TED 發表於 2017-8-27 15:36
Console.WriteLine($"{procService.ProcessName} - {HandleInformation.hProcess.ToString("x2")}");
這句 ...

非常感謝您的回覆,謝謝你解決我的問題 !!
你有Discord? 非常想與你一起學習
[發帖際遇]: diadorapolo 被偷走 1 楓幣。這一定是「假的」,一定是diadorapolo「業障太深」! 幸運榜 / 衰神榜
回覆

使用道具 舉報

0

主題

0

好友

0

積分

新手上路

Rank: 1

UID
222048
帖子
4
主題
0
精華
0
積分
0
楓幣
54
威望
0
存款
0
贊助金額
0
推廣
0
GP
0
閱讀權限
10
性別
保密
在線時間
2 小時
註冊時間
2018-2-2
最後登錄
2018-2-24
4
發表於 2018-2-2 11:41:17 |只看該作者
以上 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,因為直觀、描述簡潔。
回覆

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 立即註冊

正在連接伺服器...
打開冰楓聊天室
廣告刊登意見回饋關於我們職位招聘

Copyright ? 2011-2018 冰楓論壇, All rights reserved

免責聲明:本網站是以即時上載留言的方式運作,本站對所有留言的真實性、完整性及立場等,不負任何法律責任。

而一切留言之言論只代表留言者個人意見,並非本網站之立場,用戶不應信賴內容,並應自行判斷內容之真實性。

小黑屋|意見反饋|手機版|Archiver|冰楓論壇

GMT+8, 2018-2-25 15:28

APP Store下載 Play Store下載
回頂部

http://www.vxiaotou.com