close

有偷偷copy別人的程式碼時,常常會看到一些 this.XXXXXX

這類莫名奇妙的東東

這個是什麼呢

其實在我自己使用的過程式,很少會用到

主要是用在全域變數和區域變數相同時

(我不確定名字是不是這樣,反正大概意思差不多就好了)

因為我自己的習慣,如果是相同變數名稱,我自己會用大小寫去區分

先看下圖吧

1.png

上面的old就是全城變數,而方法內的old就是區域變數

當我收到"區城old"要等於"全域old"時,就會出現"~~~~"

因為C#有個習慣(或著說規矩)

如果有一樣的變數,他會直接當成最近的那個變數

所以,你把滑鼠移到old那邊,可以看到他反白出來的就是C#他認為同一個變的

2.png 

那如果我又不想把"全城old"改成"Old"大寫的呢

這時候this就出場啦

3.png

this. 就會讓C#判定是物件的old

 

如果還不懂的話,大概畫個圖解釋一下

就像是你跑到朋友家去看到朋友家的冰箱跟你的家的一樣

如果你要說朋友家的冰箱很大

你就會說"冰箱好大啊" 朋友就明白你在說他的冰箱

如果你要說自己家的冰箱

就會說"我的冰箱也好大" 朋友就知道你在說你的冰箱

大概這個概念

4.png

這個只是我自己的理解

如果有人有更好的解釋方法歡迎留言跟我說一下^___^

 

 

 

arrow
arrow
    文章標籤
    C# this
    全站熱搜
    創作者介紹
    創作者 阿寶子 的頭像
    阿寶子

    被程式耽誤的遊戲師

    阿寶子 發表在 痞客邦 留言(0) 人氣()