推 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
推 kkokking: N大謝謝你不辭辛勞得寫那麼詳細,我P幣若是夠多.....就.. 06/28 17:40
→ kkokking: 送N大了!!已解決問題,也得到詳細的解說,真的非常感謝^^ 06/28 17:41
~不客氣!
※ 編輯: name2name2 (114.36.98.251), 06/28/2016 20:07:28