C get和set訪問器什麼都不寫是什麼意思

2022-02-26 06:39:42 字數 6129 閱讀 6442

1樓:碧海聽濤

當屬性訪問器中不需要其他邏輯時,可以用這種簡單的宣告方式宣告。稱為自動實現的屬性,自動實現的屬性必須同時宣告get和set訪問器。相當於編譯器幫你寫上了

getset

2樓:

其實也可以簡寫 在 vs08 和vs10中

public string name

3樓:匿名使用者

private string _sitetosearch;

public string sitetosearchget}

等同以下寫法:

public string sitetosearch

4樓:

簡化了05 及以上。

5樓:匿名使用者

當屬性訪問器中不需要其他邏輯時,自動實現的屬性可使屬性宣告變得更加簡潔。

編譯器將建立一個私有的匿名後備欄位

下面是例子:

////// 當屬性訪問器中不需要其他邏輯時,自動實現的屬性可使屬性宣告變得更加簡潔。

/// 當您如下面的示例所示宣告屬性時,編譯器將建立一個私有的匿名後備欄位,

/// 該欄位只能通過屬性的 get 和 set 訪問器進行訪問。

//////

/// 請注意,本類 沒有定義任何的 內部變數來儲存 屬性值。

/// 內部變數由編譯器建立。

//////

c#屬性定義。get與set訪問器是怎麼一回事,

6樓:她是我的小太陽

1.屬性的宣告

總的來說,只要注意屬性宣告或者在使用是的一些規定就可以了,還有最為重要的:屬性的操作過程。

宣告是用如下語法:

型別 屬性名

注意:屬性還可以跟方法一樣有引數,當然限制的是,引數必須是值引數外,引數的列表的宣告與方法的一樣。

訪問器包括包含get訪問器和set訪問器

2.get訪問器

get訪問器相當於一個無引數方法,該方法具有屬性型別的返回值以及屬性相同的修飾符,而執行get訪問器就是相當於讀取了欄位的值。需要注意的是,在get訪問器中,返回值作為屬性值提供給呼叫表示式。

例如:private int a ;

public int a

}注意:當引用屬性時,除非該屬性為賦值目標,否則將呼叫get訪問器讀取該屬性的值。(在沒看到上面這句話之前,也很疑惑,呼叫時怎麼讓物件知道是get呢,還是set呢?)

3.set訪問器

set訪問器相當於一個void方法,該方法具有單個屬性型別的值引數,以及包含屬性相同的修飾符。

在set訪問器中,新的屬性值通過set訪問器的引數傳遞。值得注意的是,在通過新的屬性值賦值給欄位時,顯示引數傳遞必須宣告為與該屬性相同的資料型別,當然也可以使用隱式引數,不加宣告時,編譯器將使用隱式引數value來表示賦給屬性的新值。set訪問器隱式具有名為value的引數(value),此引數的型別是屬性的型別。

例如:private int a ;

public int a }

屬性按如下方式,根據所使用的訪問器進行分類:

只帶有get訪問器的屬性稱為只讀屬性。無法對只讀屬性賦值。

只帶有set訪問器的屬性稱為只寫屬性。只寫屬性除作為賦值的目標外,無法對其進行引用。

同時帶有get和set訪問器的屬性為讀寫屬性!

注意:在屬性宣告時,get和set訪問器都必須在屬性體內部宣告。

4.呼叫get訪問器在概念上等效於讀取欄位的值。但是並不是單單被編寫成只有返回儲存在欄位中的值,事實上可以通過訪問多個欄位的值來計算出使用者所需要的值,然後作為返回值,返**用的表示式。

例如:private int a ;

private int b ;

public int aaa}

7樓:匿名使用者

你可以把它當做是一種方法

比如private int num = 3;

public int num

set}

當我們例項化這個物件時,如果對obj.num賦值的話,會執行set裡面的程式,如果取得它的值的話,比如int x= obj.num 會執行 get裡面的語句

8樓:

我也是初學者。我用笨方法來理解的,你不要笑話。

我認為,set和get都是c#語言約定俗成的東西,是兩個方法。兩個什麼樣的方法呢?在賦值的時候,呼叫屬性的set方法;在讀取的時候,呼叫屬性的get方法。這樣。

正常變數是用自己的記憶體空間存取值,而屬性只是將"存取"抽象化為方法,並沒有實際的存取空間。

這有點像**上的二道販子。實際上他沒有自己的貨架和庫存,只是低價買進再**賣出(跑題了)

初學者的笨理解,不要笑話啊。呵呵

9樓:

避免了對欄位的直接訪問,可以在賦值時先進行判斷,增加了安全性;我是這樣理解的餓

c#中的get和set訪問器怎麼理解和使用?

10樓:匿名使用者

假設型別為t

private t _mypropertypublic t myproperty

set}

編譯最終生產方法

t get_myproperty()

void set_myproperty(t value)在外部使用時例如:

myproperty = new t();

呼叫set_myproperty方法將new t()傳入;

t x = myproperty;

呼叫get_myproperty()來返回結果

11樓:愛刷_棍哥

get和set是c#類中屬性的封裝將它隱藏public string flagget}定義一個變數flag,再定義一個公共成員變數flag(可以再別的類中對flag進行賦值,如obj.flag="aa"),set{}將「aa」賦給value,再將value賦給變數flag,flag=「aa「,再用get{}返回給flag;

而且可以對變數進行處理.增加安全性

get set 那就是在{}外面一個提取 a的直 一個是給a 賦值

get set 使用方法

string a;//成員變數

public string fuzhi//設定值 value是自動接受資料的

屬性中如果只有set,則是隻寫屬性;

如果既有get又有set則是可寫屬性;

且get和set分別可以用不同的修飾符。

修飾符分別代表的含義:

private:私有類內部可訪問;

public:全域性;

internal:程式集內部可訪問;

protected:受保護成員在它的類中可訪問並且可由派生類訪問。

c#程式,這裡的get和set兩句是什麼意思?為什麼要這樣寫?

12樓:

這是類的屬性。「get」和「set」分別對應屬性的「讀取」和「寫入」。

就像textbox控制元件,

你要讀取控制元件中的文字放到str變數中,語句應該是private string str=textbox.text;//這裡用到get屬性

要設定控制元件文字的值為「abc」,語句應該為textbox.text="abc";//這裡用到set屬性那麼,該控制元件的text讀寫操作的源**類似:

private string _text;

public string text

set}

其實,類中的變數在宣告時候一般宣告為private(私有),其他類要訪問該變數,就應該通過屬性的形式。這樣的規範,對應類的封裝性。

例如,一個人,有姓名、年齡等屬性。

那麼可以寫為:

public class person

set}

private int _age;

public int age

set}

}宣告一個人並設定人的姓名和年齡則為

person person1=new person();

person1.name="小明";

person1.age=10;

另外,人的年齡不可能為負數,一般不可能大於130歲。那麼在屬性設定年齡時候可以過濾無效值

public int age

setelse}}

13樓:

讀取和儲存值。在其他地方建立一個物件後,這個物件就有set和get這兩個方法,呼叫者兩個方法就可以實現存值和取值。在開發中這些get和set一般是放在model類裡面。

14樓:萢萢

讀寫許可權,get是獲取值,即讀取值,set是賦值,即寫入值。

15樓:匿名使用者

因為私有變數通常是不能被訪問的,那麼外界要訪問這個物件的變數咋辦,於是就用屬性的形式,來對外public一個變數,可以通過它來對內部的私有變數賦值或取值。你也可以在set的時候,進行一些邏輯的處理,比如value<5,才讓它賦值。

16樓:

.net屬性,編譯器會自動幫你生成兩個函式

17樓:匿名使用者

get set 是對外的介面 ,一般在例項中訪問成員資料需要這個成員資料的訪問方式為public ,get 就是獲取,set 就是設定。

屬性的訪問器包含與獲取(讀取或計算)或設定(寫)屬性有關的可執行語句。訪問器宣告可以包含 get 訪問器或 set 訪問器,或者兩者均包含。

原因:具有很好的收縮性,對get 和set 可以單獨設定訪問許可權 比如對某個成員資料只能讀取或者只寫,或者只有派生類可以訪問等。需要通過函式來呼叫私有成員資料,屬性提供了高效的訪問模式和簡單的書寫。

用法:類名.屬性=「」賦值 set作用變數=類名.屬性 取值 get 作用

c# get和set是什麼意思 怎樣使用?

18樓:匿名使用者

你可以理解為一個賦值 set , 一個獲值 get。

列子:一個私有的屬性 年齡:age

而我們為了程式的可靠性、安全性等各個方面,一般寫成private int age;

public int age

set}

這樣 age的值就能很好的保護起來,我們只要引用age就行了

19樓:匿名使用者

get和set是在變寫類的屬性時用到的。set是設定該屬性的值,get是獲取該屬性的值。如下是一個設定時間的屬性

public int time

//如果把set去掉,就是一個只讀屬性。。。。

set}

20樓:匿名使用者

是屬性的訪問器

例子private int _count;

//下面是一個可讀可寫屬性

public int count

//如果把set去掉,就是一個只讀屬性。。。。

set}

21樓:

get是獲取值

set是賦值

一般常見的使用如下:

public string abc;

public string abc

set}

winform中常用於

兩個窗體間的傳值

為什麼這個c#**只有get而沒有set的,set不是還得什麼什麼=value呢嗎

22樓:匿名使用者

因為這個**並未定義 set,所以這個屬性乃只讀屬性,即只可以獲取該屬性的值,而不可以賦值。

同理,也可以為一個屬性,只定義set,而不定義get,這樣就成了只寫屬性,即只可以賦值,而不可以讀取。

更多情況下,get/set 也可以為其指定修飾符(public/private/internal)等,對可訪問性進行限制。

set **段,形同於如下的偽**:

int a;

public int a;

}//偽**

public void seta( int value )

只不過呼叫方式,是對屬性直接賦值,而不是呼叫方法。同時,value 這個引數名稱,是所有屬性賦值的內建引數,無法進行修改。

工作方式的不同可以分為隨機存取儲存器和

半導體儲存器按照工作方式的不同,可以分為隨機存取儲存器 ram,也叫讀寫儲存器 和rom。記憶體儲器可與微處理器直接交換資訊,記憶體儲器根據工作方式的不同又可分為?和?隨機存取儲存器 ram cpu對它們即可度出又可寫入資料。只讀儲存器 rom cpu對它只取不存。高速緩衝儲存器cache是cpu和...

訪問學者和博士後有什麼區別,博士後與訪問學者有什麼區別

申請博士後學習研究,前提是當事者本人已經取得了博士學位 訪問學者學習,只要是專業技術人員都可以申請。博士後與訪問學者有什麼區別 liyan5011回到的很好。一個a學校的老師 去b學校訪問進修一年 完了之後 這個老師應該是回a學校繼續教書。開闊視野。對個人經歷 評職稱 申請專案等都有幫助。博士後是指...

熱水器不出水怎麼回事冷水和熱水都不出

老蔣搞教育 熱水器不出熱水,相信這個是比較普遍的問題,如果恰好是要洗澡,卻沒有熱水,這也是個比較急人的問題,熱水器在冬天的使用頻率較高,但是很多朋友會反映在洗澡的過程中出現熱水器不出水的情況,很是尷尬,也不知道該如何維修熱水器。檢查下你的熱水器的設定問題 這種情況比較多,很多使用者在使用電熱水器的時...