Equals和==的區(qū)別 公共變量和屬性的區(qū)別小結(jié)
更新時(shí)間:2009年11月26日 19:01:10 作者:
Equals 和==的區(qū)別 公共變量和屬性的區(qū)別 總結(jié)一下。
Equals 和==的區(qū)別
C#中有兩種不同的相等:引用相等和值相等
== 是比較兩個(gè)變量的值是否相同或兩個(gè)引用是不是指向同一個(gè)內(nèi)存地址。
Equals()方法是比較兩個(gè)對(duì)象指向內(nèi)存空間里的內(nèi)容是不是相同。也就是比較兩個(gè)“引用類型” 是否是對(duì)同一對(duì)象的引用,即兩個(gè)對(duì)象的內(nèi)容是否相同。
公共變量和屬性的區(qū)別
變量對(duì)于類本身而言,稱為域。
屬性是類的外部顯示出來的特性,只是公開屬性,如何進(jìn)行賦值(set)和如何進(jìn)行取值(get)都進(jìn)行了封裝,對(duì)于類外部是不可見的。對(duì)于外部使用者來說只能夠使用它,而不能夠控制它。如何控制操作是由類本身決定的。
區(qū)別:
屬性是對(duì)字段的封裝
數(shù)據(jù)可以控制讀寫 變量不可以。(set get)
數(shù)據(jù)可以進(jìn)行賦值操作,變量不可以。
對(duì)一個(gè)對(duì)象進(jìn)行數(shù)據(jù)綁定時(shí),數(shù)據(jù)是可以正常綁定的,變量就不行。當(dāng)需要將類中的一個(gè)值設(shè)為public時(shí),應(yīng)該是使用屬性而不是變量。
@符號(hào)的妙用
1:字符串轉(zhuǎn)義符
“\”在c#中式特殊符號(hào),表示轉(zhuǎn)義字符,如果表示普通字符串“\” 則需要\\才可以,通過@符號(hào),可以將“\”當(dāng)普通字符使用。
string path="F:\\vs2008\\1.txt" ;
string path=@"F:\vs2008\1.txt"; 這個(gè)樣子就可以了。
2:用@表示跨行字符串
3:保留關(guān)鍵字標(biāo)示符 在C#規(guī)范中,@可以作為標(biāo)示符(類名,變量名,方法名)的第一個(gè)字符,以允許c#中保留關(guān)鍵字作為自己定義的標(biāo)示符。
如 public class @class
最近換了新公司,感覺還不錯(cuò),有很多東西要學(xué),我感覺難度最大的就是正則了,會(huì)正則的女孩很強(qiáng)大,為了這句話,要好好學(xué) 嘿嘿。
昨天機(jī)器出狀況了,拿去維修,只好看書了,感覺還是不錯(cuò),這些基礎(chǔ)性的東西,本來早就該知道的,但是昨天才知道,基礎(chǔ)不好,基礎(chǔ)不好,所以要提高的東西還很多,JX加油了, 依然樂觀,樂觀下去……
C#中有兩種不同的相等:引用相等和值相等
== 是比較兩個(gè)變量的值是否相同或兩個(gè)引用是不是指向同一個(gè)內(nèi)存地址。
Equals()方法是比較兩個(gè)對(duì)象指向內(nèi)存空間里的內(nèi)容是不是相同。也就是比較兩個(gè)“引用類型” 是否是對(duì)同一對(duì)象的引用,即兩個(gè)對(duì)象的內(nèi)容是否相同。
公共變量和屬性的區(qū)別
變量對(duì)于類本身而言,稱為域。
屬性是類的外部顯示出來的特性,只是公開屬性,如何進(jìn)行賦值(set)和如何進(jìn)行取值(get)都進(jìn)行了封裝,對(duì)于類外部是不可見的。對(duì)于外部使用者來說只能夠使用它,而不能夠控制它。如何控制操作是由類本身決定的。
區(qū)別:
屬性是對(duì)字段的封裝
數(shù)據(jù)可以控制讀寫 變量不可以。(set get)
數(shù)據(jù)可以進(jìn)行賦值操作,變量不可以。
對(duì)一個(gè)對(duì)象進(jìn)行數(shù)據(jù)綁定時(shí),數(shù)據(jù)是可以正常綁定的,變量就不行。當(dāng)需要將類中的一個(gè)值設(shè)為public時(shí),應(yīng)該是使用屬性而不是變量。
@符號(hào)的妙用
1:字符串轉(zhuǎn)義符
“\”在c#中式特殊符號(hào),表示轉(zhuǎn)義字符,如果表示普通字符串“\” 則需要\\才可以,通過@符號(hào),可以將“\”當(dāng)普通字符使用。
string path="F:\\vs2008\\1.txt" ;
string path=@"F:\vs2008\1.txt"; 這個(gè)樣子就可以了。
2:用@表示跨行字符串
3:保留關(guān)鍵字標(biāo)示符 在C#規(guī)范中,@可以作為標(biāo)示符(類名,變量名,方法名)的第一個(gè)字符,以允許c#中保留關(guān)鍵字作為自己定義的標(biāo)示符。
如 public class @class
最近換了新公司,感覺還不錯(cuò),有很多東西要學(xué),我感覺難度最大的就是正則了,會(huì)正則的女孩很強(qiáng)大,為了這句話,要好好學(xué) 嘿嘿。
昨天機(jī)器出狀況了,拿去維修,只好看書了,感覺還是不錯(cuò),這些基礎(chǔ)性的東西,本來早就該知道的,但是昨天才知道,基礎(chǔ)不好,基礎(chǔ)不好,所以要提高的東西還很多,JX加油了, 依然樂觀,樂觀下去……
相關(guān)文章
使用NLog給Asp.Net Core做請(qǐng)求監(jiān)控的方法
這篇文章主要介紹了使用NLog給Asp.Net Core做請(qǐng)求監(jiān)控的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-05-05asp.net 獲取機(jī)器硬件信息(cpu頻率、磁盤可用空間、內(nèi)存容量等)
asp.net 收集機(jī)器硬件信息的相關(guān)代碼片斷(cpu頻率、磁盤可用空間、內(nèi)存容量……)2008-11-11asp.net頁(yè)面狀態(tài)管理cookie和服務(wù)器狀態(tài)管理Session
Session變量將在服務(wù)器為每個(gè)連接建立一個(gè)字典對(duì)象,使用的是服務(wù)端保存。Cookie可能會(huì)有一個(gè)按照年月日來判斷的作廢日期,而Session級(jí)別的變量在連接超時(shí)后就作廢2010-09-09.Net站點(diǎn)設(shè)置多個(gè)路由對(duì)應(yīng)同一個(gè)Action
這篇文章介紹了.Net站點(diǎn)設(shè)置多個(gè)路由對(duì)應(yīng)同一個(gè)Action的方法,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-07-07