看板 C_Sharp 關於我們 聯絡資訊
詳細說一下過程好了, 整個區塊中的data都代表同一個變數也只有一個變數, 整個程式碼只是在讓data這個變數的值變動而已, 變數可以想成籃子,值可以想成物品, 所以整個區塊中的籃子都是同一個, 程式只是把藍子裡的東西換成不同物品而已 所以從頭到尾名稱為data的這個籃子只有一個而已
name2name2: string data = "ABCDE@12345";06/28 12:29
這邊設一個變數叫data, (創造一個叫做data的籃子) 然後用等號把 "ABCDE@12345" 這個字串質賦值給data這個變數, (把"ABCDE@12345"這個東西放進data這個籃子) 所以現在data這個變數的值是 "ABCDE@12345" (data這個籃子裡裝的物品目前是 ABCDE@12345)
name2name2: data = data.Substring(6); 06/28 12:30
接下來這行程式會先做等號右邊的動作, 目前data的值是ABCDE@12345 所以右邊會對data的目前值ABCDE@12345 去做Substring(6) 會得到 12345 這個字串值 所以右邊的動作結果會得到一個純字串值"12345" 然後等號會把右邊做好的結果"12345"這個值 賦值給data本身, 賦值的意思相當於覆蓋, 以籃子物品來說賦值就是把籃子裡原本的東西換成另個東西, 所以等號把data原本的值ABCDE@12345 改成右邊的結果值也就是 12345 所以現在data的值變成12345了
name2name2: Console.WriteLine(data); //得到12345 這樣? 06/28 12:30
最後印出目前data值
aacced: 數字前面固定是@嗎? 06/28 14:31
aacced: data = data.Substring(data.Indexof("@", 1) + 1); 06/28 14:31
這邊等號右邊內層括號裡的動作最先做, data.indexof(@)會取得"@"這個符號所在的位置, +1就再把位置+1, 所以外層括號最後結果就是得到@的位置+1 (+1就是下一個字元的位置), 也就是1所在的位置, 然後整個substring就從1這個位置往後切到字串結尾,就得到12345 可以見 https://msdn.microsoft.com/zh-tw/library/system.string.indexof(v=vs.110).aspx
kkokking: name大,感謝!!加了第二行,data之後就會自動省略前面英 06/28 15:17
kkokking: 文嗎? 06/28 15:18
算是把data的原值ABCDE@12345 覆蓋成substring得到的切割字串結果12345 省略這個動作是substring做的 substring https://msdn.microsoft.com/zh-tw/library/system.string.substring(v=vs.110).aspx https://msdn.microsoft.com/zh-tw/library/hxthx5h6(v=vs.110).aspx https://msdn.microsoft.com/zh-tw/library/aka44szs(v=vs.110).aspx (若有誤請再指教,謝謝~) -- ~ Sent from my PCMan Combo ~ -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.36.98.251 ※ 文章網址: https://www.ptt.cc/bbs/C_Sharp/M.1467101344.A.6FC.html ※ 編輯: name2name2 (114.36.98.251), 06/28/2016 16:12:20
name2name2: 補充 可以下這個關鍵字 第一個結果點進去 06/28 17:11
name2name2: https://goo.gl/eh3EQI 06/28 17:11
kkokking: N大謝謝你不辭辛勞得寫那麼詳細,我P幣若是夠多.....就.. 06/28 17:40
kkokking: 送N大了!!已解決問題,也得到詳細的解說,真的非常感謝^^ 06/28 17:41
~不客氣! ※ 編輯: name2name2 (114.36.98.251), 06/28/2016 20:07:28