首頁>Club>
各位,在c#語言中,我畫問號和橫線的這幾行都怎麼解釋,例如第一行是dbool判斷,他判斷的是什麼,怎麼沒看到寫true和false啊,還有在下邊那個this和13都哪來的,什麼意思
6
回覆列表
  • 1 # 即墨雲99999999

    第一個劃線的這句話的意思是

    這樣,預設的初始化操作都放在預設構造函數里就行了,相當於先執行Class1(),再執行Class1(1)這樣的。這樣做可以減少程式碼冗餘。

    前兩個問號是運算子過載的特殊語法,就是編輯自定義的運算子操作,第一個是==運算子的過載,在這裡將寫上判斷兩個Card是否相等的自定義邏輯。第二個是!=運算子的過載,在這裡將協商判斷兩個Card是否不相等的自定義邏輯。你可以把 operator ==作為一個整體,當做方法名就可以了。

    第三個問號是對Object中的Equals方法的過載,這個方法用於判斷兩個Card是否相同,this就是當前的物件,比如

    在這裡的Equals呼叫中,card就是this。

    這裡使用了運算子過載裡面的方法。

    而最後一個劃線的,其實是因為過載了Equals之後,需要過載一下GetHashCode,這個方法是獲取Card的一個標識的,就像Hash碼一樣,所以是這樣的,這個13的意思,其實是因為撲克有4種花色,每種花色有13張,所以用花色程式碼*13再加上卡片型別就可以唯一標識一張撲克了。

  • 中秋節和大豐收的關聯?
  • 驕傲的飛翔是哪首歌的歌詞?