最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C#中{get;set;}的具體使用

 更新時(shí)間:2023年02月06日 15:10:03   作者:m0_60150025  
本文主要介紹了C#中{get;set;}的具體使用,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

在C#程序中經(jīng)常會(huì)看到set,get的配套使用,很多人不知道它的用途。我就在這向大家講講,也加深一下自己的印象。

//這里有兩個(gè)類  
public class person1
{
    public string name;
}
 
public class person2
{
    public string Name{set;get;}
}

我們可以看到,第一個(gè)類中的name是沒有封裝的,第二給則用到{get;set;}  關(guān)鍵字進(jìn)行封裝。其實(shí)含義也是很簡(jiǎn)單,get與set分別對(duì)應(yīng)的是可讀與可寫。其實(shí)以前的代碼是這樣寫的,只是現(xiàn)在的.net框架可以忽略成上面那樣

private string name;
 
public string Name
{
    get { return name; }
    set { name = value; }
}

區(qū)別:當(dāng)實(shí)例化第一個(gè)“person1”這個(gè)類時(shí),系統(tǒng)在分配內(nèi)存空間時(shí)對(duì)name屬性直接分配內(nèi)存,之后對(duì)name屬性的操作也是直接操作內(nèi)存中name屬性所在的這個(gè)塊;而當(dāng)實(shí)例化第二個(gè)人“person2”類型時(shí),系統(tǒng)會(huì)先分配一個(gè)叫name的private私有的內(nèi)存空間,讀與寫的操作都是通過Name這個(gè)public的類似于指針的東西來關(guān)聯(lián)name進(jìn)行,以此達(dá)到封裝的目的,并且通過get和set關(guān)鍵字也可以控制可讀還是可寫。

簡(jiǎn)單的說就是控制字段的讀寫權(quán)限。

再舉例說明下:

假設(shè)類是一銀行,既能存錢也能取錢

? ? Private Money;
? ? Private class bank()
? ? {
? ? ? get
? ? ? {
? ? ? ? ?return Money;
? ? ? }
? ? ? Set
? ? ? {
? ? ? ? ?Money=value;
? ? ? }
? ? }

Money 就像銀行里的自動(dòng)取款機(jī),你看不見里面的Money,但你能用set(存錢),用get(取錢)。Money是一個(gè)私有字段,是分裝在類中的,類以外的程序不能直接訪問的。C#中g(shù)et、set用法中,類的set和get成員是外部程序訪問類內(nèi)部屬性的唯一方法,就像你去銀行取錢,你不能直接從銀行的保險(xiǎn)柜里拿錢,而是銀行營(yíng)業(yè)人員把錢取出來給你的。

屬性在調(diào)用者看來就像一個(gè)普通的變量,但作為類的設(shè)計(jì)者,你可以利用屬性來隱藏你類中的一些字段,使外界只能通過屬性來訪問你的字段,你可以通過屬性來限制外界對(duì)你的字段的存取,就利用get、set。如果想讓用戶隨意存取你的字段,那么就實(shí)現(xiàn)get、set;如果只想讓用戶讀取字段,就只實(shí)現(xiàn)get;若只想讓用戶寫字段就只實(shí)現(xiàn)set。同時(shí)還可以在set和get中對(duì)用戶傳遞的值進(jìn)行一些驗(yàn)證工作,以確保你的字段將含有正確的值。

? ? Private int a;
? ? Public int index
? ? {
? ? ? get
? ? ? {
? ? ? ? return a;
? ? ? }
? ? ? set
? ? ? {
? ? ? ? ?If (value>0)
? ? ? ? ? ?a=value;
? ? ? ? ?else
? ? ? ? ? ?a=0;
? ? ? }
? ? }

可看出,get、set用法中一則是隱藏組件或類內(nèi)部的真是成員;

二是用來建立約束的,比如,實(shí)現(xiàn)“有我沒你”這種約束;

三是用來響應(yīng)屬性變化事件,當(dāng)屬性變化是做某事,只要寫在set方法里就行。

當(dāng)你想讀出或?qū)懭雽傩缘闹禃r(shí),存取標(biāo)志限定了被實(shí)現(xiàn)的語句。用于讀出屬性的值的存取標(biāo)志記為關(guān)鍵字get,而要修改屬性的值的讀寫符標(biāo)志記為set。

到此這篇關(guān)于C#中{get;set;}的具體使用的文章就介紹到這了,更多相關(guān)C# {get;set;}內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • C#圖像灰度級(jí)拉伸的方法

    C#圖像灰度級(jí)拉伸的方法

    這篇文章主要介紹了C#圖像灰度級(jí)拉伸的方法,涉及C#灰度操作的相關(guān)技巧,需要的朋友可以參考下
    2015-04-04
  • C#監(jiān)控虛擬機(jī)帶寬的兩種實(shí)用方法

    C#監(jiān)控虛擬機(jī)帶寬的兩種實(shí)用方法

    虛擬機(jī)帶寬監(jiān)控,不是選個(gè)看起來很酷的工具,而是決定你未來半年甚至一年的系統(tǒng)穩(wěn)定性、性能瓶頸和團(tuán)隊(duì)協(xié)作成本,我用過Wireshark、NetFlow Analyzer,也用過C#自研監(jiān)控,還被坑過,今天,我不會(huì)給你講那些官方文檔式的廢話,而是用真實(shí)代碼和踩坑經(jīng)歷,告訴你到底該咋監(jiān)控
    2025-10-10
  • 簡(jiǎn)單談?wù)凜#中深拷貝、淺拷貝

    簡(jiǎn)單談?wù)凜#中深拷貝、淺拷貝

    深拷貝和淺拷貝都是對(duì)對(duì)象進(jìn)行的拷貝復(fù)制。而他們的不同就在于:一個(gè)對(duì)象中可能會(huì)有值類型的字段,也可能會(huì)有引用類型的字段。淺拷貝直接拷貝值、引用類型的指針。而深拷貝則是重新構(gòu)造字段指針?biāo)赶虻膶?duì)象,并沒有拷貝該字段的指針,或是與該字段指針指向同一塊內(nèi)存
    2015-06-06
  • 基于C#實(shí)現(xiàn)獲取本地磁盤目錄

    基于C#實(shí)現(xiàn)獲取本地磁盤目錄

    這篇文章主要為大家詳細(xì)介紹了如何利用C#實(shí)現(xiàn)獲取本地磁盤目錄的功能,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)C#有一定的幫助,感興趣的小伙伴可以跟隨小編一起了解一下
    2022-12-12
  • .Net Winform開發(fā)筆記(一)

    .Net Winform開發(fā)筆記(一)

    理解“Windows 窗體應(yīng)用程序”項(xiàng)目中Program.cs文件中的main方法與傳統(tǒng)C++Console控制臺(tái)程序中的main方法的區(qū)別等等,感興趣的朋友可以了解下
    2013-01-01
  • C#使用StackExchange.Redis實(shí)現(xiàn)分布式鎖的兩種方式介紹

    C#使用StackExchange.Redis實(shí)現(xiàn)分布式鎖的兩種方式介紹

    分布式鎖在集群的架構(gòu)中發(fā)揮著重要的作用,這篇文章主要為大家介紹了C#使用StackExchange.Redis實(shí)現(xiàn)分布式鎖的兩種方式,希望對(duì)大家有一定的幫助
    2025-04-04
  • 使用C#刪除Excel表格中的重復(fù)行數(shù)據(jù)的代碼詳解

    使用C#刪除Excel表格中的重復(fù)行數(shù)據(jù)的代碼詳解

    重復(fù)行是指在Excel表格中完全相同的多行數(shù)據(jù),刪除這些重復(fù)行至關(guān)重要,因?yàn)樗鼈儾粌H會(huì)干擾數(shù)據(jù)分析,還可能導(dǎo)致錯(cuò)誤的決策和結(jié)論,所以本文給大家介紹了如何使用C#快速刪除Excel表格中的重復(fù)行數(shù)據(jù),需要的朋友可以參考下
    2025-05-05
  • C#過濾sql特殊字符串的方法

    C#過濾sql特殊字符串的方法

    這篇文章介紹了C#過濾sql特殊字符串的方法,文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-07-07
  • c++ 中的關(guān)鍵字 const含義詳解

    c++ 中的關(guān)鍵字 const含義詳解

    C++ 中的 const 關(guān)鍵字是一個(gè)強(qiáng)大的工具,主要用于定義“只讀”變量或?qū)ο?告訴編譯器和程序員,被其修飾的內(nèi)容不應(yīng)被改變,本文給大家介紹c++ 中的關(guān)鍵字 const含義,感興趣的朋友跟隨小編一起看看吧
    2025-11-11
  • C#如何獲取當(dāng)前路徑的父路徑

    C#如何獲取當(dāng)前路徑的父路徑

    這篇文章主要介紹了C#如何獲取當(dāng)前路徑的父路徑問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-07-07

最新評(píng)論

兰考县| 疏附县| 洪泽县| 黑龙江省| 阆中市| 宣城市| 阜南县| 南汇区| 孟津县| 延庆县| 丰城市| 庄河市| 麻江县| 思南县| 从化市| 密山市| 宜良县| 丰镇市| 衡南县| 准格尔旗| 澄城县| 漳州市| 海伦市| 红原县| 收藏| 金川县| 大竹县| 交城县| 衡南县| 湘潭县| 简阳市| 丹巴县| 南郑县| 城口县| 林芝县| 庆城县| 万全县| 阜平县| 鸡东县| 大安市| 富裕县|