結構資料組中間的元素怎麼賦為null,新手求教!C

2022-08-12 03:35:19 字數 2921 閱讀 3395

1樓:匿名使用者

null是引用型別中值的一種

結構式值型別資料儲存在棧中,所以不能使用null作為它的值

但是.net提供了一種可以使結構型變為null的方法,在定義結構型資料時,只需要在型別後新增?即可,例如

普通結構型:point points = new point[1]; points[0] = new point();

可空結構型::point? points = new point?[0]; points[0] = null;

實際上point? 等同於一個泛型包裝類

system.nullable 型別

system.nullable是一個全新的資料型別,主要包含一個value屬性,該屬性為一個值型別資料,如果值型別為null那麼整個system.nullable物件為null

t不可以使用非值型別資料

2樓:哲事姓無

錯誤說明中已經說明白了, 結構是不可以設定為null的。

如果一定想設定為null,那麼可以使用nullable,比如int則為int? i = null。或是point? point = null;之類的。

3樓:匿名使用者

結構是不能設定null值的,如果你的陣列中的元素中point可以這樣設定:

結果座標[i] = point.empty;

c#高手進......c#中結構中的欄位為什麼不能賦初始值?

4樓:匿名使用者

因為結構是值型別。結構定義時,程式設計師早就想好了,裡面的欄位都是有用的。結構不允許宣告解構函式(destructor),且common language runtime(clr)不會在任何結構上呼叫finalize方法。

所以,結構的空間,能省則省。當您將一個結構變數賦值給另一個,或是將結構例項傳遞到程式變數時,所有變數成員的值會複製到新的結構中。聲時初值的話,這樣做,會造成很多負擔。

值型別的話,你一宣告分配空間,就造成空間的浪費,所以才不讓賦予初使值吧。 個人見解。

5樓:匿名使用者

平時沒注意到結構體這個平時寫的時候也沒想過,感覺他就是一個不能繼承的類,當然還有無法賦初值的類具體為什麼這麼做以前沒學過,上網找了下也沒找著......估計這個規定太老都無從考證了呵呵.....

6樓:匿名使用者

結構一旦被宣告,就被分配。比如整型的欄位,就已經被賦予初始值0 。

新手求教c#中結構陣列如何批量賦值

7樓:

初始化的話不需要賦值,結構體會自動初始化;

設定值的時候,用迴圈語句。

c#中string 賦初始值的兩種方法,一種賦值為"",另一種賦值為null,這兩種有什麼不同呢

8樓:匿名使用者

賦值為「」時,系統已經為該字串分配記憶體了,只是沒有儲存具體的字元;賦值為null時,沒有為該字串分配記憶體

9樓:我叫張佔剛

null它沒有引用。如果你要使用的話會報空指標。也就是說只是宣告瞭變數而沒賦值

""它的引用是""是空字串。使用不會報空指標。宣告瞭變數並賦值空字串

10樓:匿名使用者

呵呵,還有一種賦值噢,string str = string.empty;

11樓:匿名使用者

一種分配系統記憶體了一種系統沒分配記憶體

c# 結構體內陣列如何賦值

12樓:匿名使用者

我也遇到過這個問題,引用之前先new一下就可以了

1.2.3題是怎麼做的,求c#大神!!陣列的定義和賦值,總感覺答案有問題。。

13樓:你妹_傷不起

答案都是對的 哪道有疑問? 先去複習下陣列定義及初始化

第二題 a選項是定義並初始化一個長度為5的陣列

14樓:濟南隔壁老王

第一題:b,不解釋,自己看語法...

第二題:c,不解釋,自己看語法...其實c是定義一個陣列的陣列,第二個不能填寫長度,只代表型別

第三題:c,不解釋,自己看語法...

15樓:玩轉資料處理

第二題選c

1,3 選對了

c語言中怎麼判定結構體陣列中的某項元素為空

16樓:匿名使用者

如果刪除某條資訊,這條資訊後面的資訊都往前整不留空隙,那用個變數儲存陣列現存幾條資訊即可,在新增刪除時維護此變數。

17樓:匿名使用者

刪除時,做標記, 如, book[i].id[0] = null

18樓:

指定長度5,初始化3個,後面的都是用0來初始化的

c# 怎麼把陣列中的一部分元素提取出來後重新賦給原來的額陣列?

19樓:仙戈雅

ok,演算法如下:

static void main();

resize(ref a, x => x < 7);

}static void resize(ref t source, predicatepredicate)

array.resize(ref source, result.count);

result.toarray().copyto(source, 0);}

20樓:

用linq擴充套件方法就好了。

a = a.where(i=>i<7).toarray();

如何學習資料結構,資料結構該怎麼學啊?

資料結構從文字上面來看,為資料和結構兩部分。這樣就很容易聯絡到數專據結構的本質是屬一種對於資料結構花的知識。補充一個知識點,資料結構本質和離散數學有很密切的關係。離散數學是處理的是離散 非連續的 的資料,站在資料結構的觀點上來看,也可以理解是一種非連續資料的結構。資料結構該怎麼學啊?資料結構學好並不...

怎麼學好資料結構與演算法好難啊資料結構該怎麼學好啊,很難得樣子

先學好語言,這是學習的基礎。有些演算法書上在學習語言部分會有一點演算法包含在內,比如遞迴。要學演算法,先練好遞迴,這會對你深入學習其他演算法有很大的幫助。樹形結構是資料結構中較難的部分,也是資料結構的基礎,主要靠練。還有就是,不要總是學習理論,合上書本認真地把演算法用 和實現是最重要的。不要背 沒用...

一組資料5的眾數是,一組資料122333445的眾數是,中位數是

一組資料1 2 3 4 5的平均數是 3 眾數是 沒有 中位數是 3 先對這組資料按從小到大的順序重新排序 1,2,2,3,3,3,4,4,5.這組資料有9個,所以位於最中間的數就是這組數的中位數是3,這組數出現次數最多的是3,故這組數的眾數是3.故答案為 3,3.一組資料5 3 2 4 4,2 3...