Equals和==的區(qū)別 公共變量和屬性的區(qū)別小結(jié)
更新時間:2009年11月26日 19:01:10 作者:
Equals 和==的區(qū)別 公共變量和屬性的區(qū)別 總結(jié)一下。
Equals 和==的區(qū)別
C#中有兩種不同的相等:引用相等和值相等
== 是比較兩個變量的值是否相同或兩個引用是不是指向同一個內(nèi)存地址。
Equals()方法是比較兩個對象指向內(nèi)存空間里的內(nèi)容是不是相同。也就是比較兩個“引用類型” 是否是對同一對象的引用,即兩個對象的內(nèi)容是否相同。
公共變量和屬性的區(qū)別
變量對于類本身而言,稱為域。
屬性是類的外部顯示出來的特性,只是公開屬性,如何進(jìn)行賦值(set)和如何進(jìn)行取值(get)都進(jìn)行了封裝,對于類外部是不可見的。對于外部使用者來說只能夠使用它,而不能夠控制它。如何控制操作是由類本身決定的。
區(qū)別:
屬性是對字段的封裝
數(shù)據(jù)可以控制讀寫 變量不可以。(set get)
數(shù)據(jù)可以進(jìn)行賦值操作,變量不可以。
對一個對象進(jìn)行數(shù)據(jù)綁定時,數(shù)據(jù)是可以正常綁定的,變量就不行。當(dāng)需要將類中的一個值設(shè)為public時,應(yīng)該是使用屬性而不是變量。
@符號的妙用
1:字符串轉(zhuǎn)義符
“\”在c#中式特殊符號,表示轉(zhuǎn)義字符,如果表示普通字符串“\” 則需要\\才可以,通過@符號,可以將“\”當(dāng)普通字符使用。
string path="F:\\vs2008\\1.txt" ;
string path=@"F:\vs2008\1.txt"; 這個樣子就可以了。
2:用@表示跨行字符串
3:保留關(guān)鍵字標(biāo)示符 在C#規(guī)范中,@可以作為標(biāo)示符(類名,變量名,方法名)的第一個字符,以允許c#中保留關(guān)鍵字作為自己定義的標(biāo)示符。
如 public class @class
最近換了新公司,感覺還不錯,有很多東西要學(xué),我感覺難度最大的就是正則了,會正則的女孩很強(qiáng)大,為了這句話,要好好學(xué) 嘿嘿。
昨天機(jī)器出狀況了,拿去維修,只好看書了,感覺還是不錯,這些基礎(chǔ)性的東西,本來早就該知道的,但是昨天才知道,基礎(chǔ)不好,基礎(chǔ)不好,所以要提高的東西還很多,JX加油了, 依然樂觀,樂觀下去……
C#中有兩種不同的相等:引用相等和值相等
== 是比較兩個變量的值是否相同或兩個引用是不是指向同一個內(nèi)存地址。
Equals()方法是比較兩個對象指向內(nèi)存空間里的內(nèi)容是不是相同。也就是比較兩個“引用類型” 是否是對同一對象的引用,即兩個對象的內(nèi)容是否相同。
公共變量和屬性的區(qū)別
變量對于類本身而言,稱為域。
屬性是類的外部顯示出來的特性,只是公開屬性,如何進(jìn)行賦值(set)和如何進(jìn)行取值(get)都進(jìn)行了封裝,對于類外部是不可見的。對于外部使用者來說只能夠使用它,而不能夠控制它。如何控制操作是由類本身決定的。
區(qū)別:
屬性是對字段的封裝
數(shù)據(jù)可以控制讀寫 變量不可以。(set get)
數(shù)據(jù)可以進(jìn)行賦值操作,變量不可以。
對一個對象進(jìn)行數(shù)據(jù)綁定時,數(shù)據(jù)是可以正常綁定的,變量就不行。當(dāng)需要將類中的一個值設(shè)為public時,應(yīng)該是使用屬性而不是變量。
@符號的妙用
1:字符串轉(zhuǎn)義符
“\”在c#中式特殊符號,表示轉(zhuǎn)義字符,如果表示普通字符串“\” 則需要\\才可以,通過@符號,可以將“\”當(dāng)普通字符使用。
string path="F:\\vs2008\\1.txt" ;
string path=@"F:\vs2008\1.txt"; 這個樣子就可以了。
2:用@表示跨行字符串
3:保留關(guān)鍵字標(biāo)示符 在C#規(guī)范中,@可以作為標(biāo)示符(類名,變量名,方法名)的第一個字符,以允許c#中保留關(guān)鍵字作為自己定義的標(biāo)示符。
如 public class @class
最近換了新公司,感覺還不錯,有很多東西要學(xué),我感覺難度最大的就是正則了,會正則的女孩很強(qiáng)大,為了這句話,要好好學(xué) 嘿嘿。
昨天機(jī)器出狀況了,拿去維修,只好看書了,感覺還是不錯,這些基礎(chǔ)性的東西,本來早就該知道的,但是昨天才知道,基礎(chǔ)不好,基礎(chǔ)不好,所以要提高的東西還很多,JX加油了, 依然樂觀,樂觀下去……
相關(guān)文章
.NET實(shí)現(xiàn)XML與DataTable互轉(zhuǎn)的實(shí)例代碼
.NET實(shí)現(xiàn)XML與DataTable互轉(zhuǎn)的實(shí)例代碼,需要的朋友可以參考一下2013-03-03
淺談.NET中加密和解密的實(shí)現(xiàn)方法分享
這篇文章介紹了.NET中加密和解密的實(shí)現(xiàn)方法,有需要的朋友可以參考一下2013-11-11
GridView自動增加序號(三種實(shí)現(xiàn)方式)
第一種方式,直接在Aspx頁面GridView模板列中.這種的缺點(diǎn)是到第二頁分頁時又重新開始了,第二種方式分頁時進(jìn)行了計(jì)算,這樣會累計(jì)向下加,點(diǎn)三種放在cs代碼中2013-04-04
Visual Studio Debugger七個鮮為人知的小功能
這篇文章主要為大家詳細(xì)介紹了Visual Studio Debugger七個鮮為人知的小功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-06-06
ASP.NET內(nèi)置對象之Application對象
Application對象是HttpApplicationState類的一個實(shí)例,它可以產(chǎn)生一個所有Web應(yīng)用程序都可以存取的變量,這個變量的可以存取范圍涵蓋全部使用者,也就是說只要正在使用這個網(wǎng)頁的程序都可以存取這個變量。2008-09-09
subsonic3.0插件更新字符串過長引發(fā)的異常修復(fù)方法
這篇文章主要介紹了subsonic3.0插件更新字符串過長引發(fā)的異常修復(fù)方法,需要的朋友可以參考下2014-04-04

