冰楓論壇

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

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

[複製鏈接]

7

主題

5

好友

36

積分

新手上路

Rank: 1

UID
119799
帖子
49
主題
7
精華
0
積分
36
楓幣
-7
威望
35
存款
0
贊助金額
0
推廣
0
GP
8
閱讀權限
10
性別
在線時間
28 小時
註冊時間
2015-10-23
最後登入
2024-4-6
跳轉到指定樓層
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彩票
複製連結並發給好友,以賺取推廣點數
簡單兩步驟,註冊、分享網址,即可獲得獎勵! 一起推廣文章換商品、賺$$

23

主題

7

好友

4219

積分

技術師

抓蟲大隊

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

UID
22037
帖子
2289
主題
23
精華
2
積分
4219
楓幣
1252
威望
4087
存款
41854
贊助金額
300
推廣
0
GP
0
閱讀權限
100
性別
在線時間
334 小時
註冊時間
2013-2-1
最後登入
2023-3-11

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

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 楓幣 幸運榜 / 衰神榜
點評回覆

使用道具 舉報

7

主題

5

好友

36

積分

新手上路

Rank: 1

UID
119799
帖子
49
主題
7
精華
0
積分
36
楓幣
-7
威望
35
存款
0
贊助金額
0
推廣
0
GP
8
閱讀權限
10
性別
在線時間
28 小時
註冊時間
2015-10-23
最後登入
2024-4-6
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

好友

218

積分

等待驗證會員

UID
222048
帖子
19
主題
0
精華
0
積分
218
楓幣
6177
威望
204
存款
0
贊助金額
0
推廣
0
GP
0
閱讀權限
2
性別
保密
在線時間
279 小時
註冊時間
2018-2-2
最後登入
2024-11-21
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,因為直觀、描述簡潔。
點評回覆

使用道具 舉報

高級模式
B Color Image Link Quote Code Smilies |上傳

廣告刊登意見回饋關於我們管群招募本站規範DMCA隱私權政策

Copyright © 2011-2024 冰楓論壇, All rights reserved

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

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

小黑屋|手機版|冰楓論壇

GMT+8, 2024-11-21 23:05

回頂部