第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

您什么時(shí)候使用“this”關(guān)鍵字?

您什么時(shí)候使用“this”關(guān)鍵字?

慕妹3242003 2019-06-05 14:55:32
您什么時(shí)候使用“this”關(guān)鍵字?我很好奇其他人是如何使用這,這個(gè)關(guān)鍵詞。我傾向于在構(gòu)造函數(shù)中使用它,但在整個(gè)類中,我也可能在其他方法中使用它。一些例子:在構(gòu)造函數(shù)中:public Light(Vector v){     this.dir = new Vector(v);}其他地方public void SomeMethod(){     Vector vec = new Vector();     double d = (vec * vec) - (this.radius * this.radius);}
查看完整描述

3 回答

?
暮色呼如

TA貢獻(xiàn)1853條經(jīng)驗(yàn) 獲得超9個(gè)贊

有幾種用法這,這個(gè)關(guān)鍵字在C#中。

  1. 對(duì)隱藏在類似名稱中的成員進(jìn)行限定

  2. 讓對(duì)象將自身作為參數(shù)傳遞給其他方法

  3. 使對(duì)象從方法返回自身
  4. 聲明索引器

  5. 聲明擴(kuò)展方法

  6. 傳遞構(gòu)造函數(shù)之間的參數(shù)

  7. 內(nèi)部重新分配值類型(Struct)值.

  8. 調(diào)用當(dāng)前實(shí)例上的擴(kuò)展方法
  9. 將自身轉(zhuǎn)換為另一種類型
  10. 在同一個(gè)類中定義的鏈?zhǔn)綐?gòu)造函數(shù)

您可以避免第一次使用,方法是不具有同名的成員和局部變量,例如遵循常見(jiàn)的命名約定,并使用屬性(PASCAL CASE)而不是字段(CAMEL CASE)來(lái)避免與局部變量(也是CAMEL CASE)發(fā)生沖突。在C#3.0中,可以很容易地將字段轉(zhuǎn)換為屬性。


查看完整回答
反對(duì) 回復(fù) 2019-06-05
?
千巷貓影

TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超7個(gè)贊

我不是故意這么說(shuō)的,但這不重要。

我是認(rèn)真的。

看看那些重要的事情:你的項(xiàng)目,你的代碼,你的工作,你的個(gè)人生活。它們中的任何一個(gè)都不會(huì)成功取決于您是否使用“this”關(guān)鍵字來(lái)限定對(duì)字段的訪問(wèn)。此關(guān)鍵字將不會(huì)幫助您按時(shí)發(fā)貨。它不會(huì)減少bug,也不會(huì)對(duì)代碼質(zhì)量或可維護(hù)性產(chǎn)生任何明顯的影響。這不會(huì)給你加薪,也不會(huì)讓你減少在辦公室的時(shí)間。

這真的只是個(gè)時(shí)尚的問(wèn)題。如果你喜歡“這個(gè)”,那就用它。如果你沒(méi)有,那就不要。如果您需要它來(lái)獲得正確的語(yǔ)義,那么使用它。事實(shí)上,每個(gè)程序員都有自己獨(dú)特的編程風(fēng)格。這種風(fēng)格反映了特定程序員對(duì)“最美觀的代碼”應(yīng)該是什么樣子的概念。根據(jù)定義,任何閱讀您的代碼的其他程序員都會(huì)有不同的編程風(fēng)格。這意味著,總會(huì)有一些你做過(guò)的事情,而另一個(gè)人不喜歡,或者會(huì)做一些不同的事情??傆幸惶?,某個(gè)人會(huì)讀你的代碼,并抱怨一些事情。

我不會(huì)為此煩惱的。我只想確保代碼在美觀上盡可能符合您自己的口味。如果你問(wèn)10個(gè)程序員如何格式化代碼,你會(huì)得到大約15個(gè)不同的意見(jiàn)。需要關(guān)注的更好的事情是如何對(duì)代碼進(jìn)行分解。事情是抽象的嗎?我選了有意義的名字嗎?有很多代碼重復(fù)嗎?有什么辦法我可以簡(jiǎn)化嗎?我認(rèn)為,把這些事情做好,將對(duì)你的項(xiàng)目、代碼、工作和生活產(chǎn)生最大的積極影響。巧合的是,這也可能會(huì)使另一個(gè)人的牢騷最少。如果您的代碼工作正常,易于閱讀,并且考慮得很好,那么另一個(gè)人將不會(huì)仔細(xì)檢查您如何初始化字段。他只會(huì)使用你的代碼,驚嘆于它的偉大,然后繼續(xù)做其他的事情。


查看完整回答
反對(duì) 回復(fù) 2019-06-05
?
拉風(fēng)的咖菲貓

TA貢獻(xiàn)1995條經(jīng)驗(yàn) 獲得超2個(gè)贊

我只在絕對(duì)必要時(shí)才使用它(當(dāng)另一個(gè)變量跟蹤另一個(gè)變量時(shí))。如下所示:

class Vector3{
    float x;
    float y;
    float z;

    public Vector3(float x, float y, float z)
    {
        this.x = x;
        this.y = y;
        this.z = z;
    }}

或者正如Ryan Fox指出的,當(dāng)您需要將其作為參數(shù)傳遞時(shí)。(局部變量?jī)?yōu)先于成員變量)


查看完整回答
反對(duì) 回復(fù) 2019-06-05
  • 3 回答
  • 0 關(guān)注
  • 665 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)