1樓:小羊說程式設計
如下例子:這個是錯的 結構中不能有例項欄位初始值public struct cat
如下例子:這個是對的
public struct cat
2樓:匿名使用者
結構中的欄位不能賦值那結構還有什麼用?結構可以看成一種簡單的類。
在c#中結構為什麼不能繼承?
3樓:
在面嚮物件語言出現之前的語言都是程序導向的,是沒有類的,只有結構(結構是由一系列具有相同型別或不同型別的資料構成的資料集合),那個時候連類都沒有,更不用說繼承了。有人說struct相當於是一個輕型類。
4樓:酷我一代
因為結構和類的型別不一樣,在記憶體中儲存方式不一樣。
c#中我繼承介面的那個結構出現不能實現介面成員
5樓:匿名使用者
ccolor是大寫的,介面裡是小寫的。低階問題往往讓你困惑幾個月了吧。
c#中結構中構造方法定義的問題 25
6樓:匿名使用者
c#中的結構體型別
struct 型別是一種值型別,通常用來封裝小型相關變數組,例如,矩形的座標或庫存商品的特徵。下面的示例顯示了一個簡單的結構宣告。
public struct postaladdress
結構與類共享幾乎所有相同的語法,但結構比類受到的限制更多:
儘管結構的靜態欄位可以初始化,結構例項欄位宣告還是不能使用初始值設定項。
結構不能宣告預設建構函式(沒有引數的建構函式)或解構函式。
結構的副本由編譯器自動建立和銷燬,因此不需要使用預設建構函式和解構函式。實際上,編譯器通過為所有欄位賦予預設值(參見預設值表)來實現預設建構函式。結構不能從類或其他結構繼承。
結構是值型別 -- 如果從結構建立一個物件並將該物件賦給某個變數,變數則包含結構的全部值。複製包含結構的變數時,將複製所有資料,對新副本所做的任何修改都不會改變舊副本的資料。由於結構不使用引用,因此結構沒有標識 -- 具有相同資料的兩個值型別例項是無法區分的。
c# 中的所有值型別本質上都繼承自 valuetype,後者繼承自 object。
編譯器可以在一個稱為裝箱的過程中將值型別轉換為引用型別。
結構具有以下特點:
結構是值型別,而類是引用型別
向方法傳遞結構時.結構是通過傳值方式傳遞的,不是作為引用方式傳遞.
與類不同,結構的例項化可以不使用new運算子.
結構可以宣告建構函式,但他們必須帶引數
一個結構不能從另一個結構或類繼承,而且不能作為一個類的基。所有結構都直接繼承自 system.valuetype,後者繼承自 system.object。
結構可以實現介面。
在結構中初始化例項欄位是錯誤的。
7樓:匿名使用者
class的get,set的可以是類,
public people getproperties}struct的get,set只能對值型別!
public int getproperties}
c 中new結構體的問題,c 中new一個結構體的問題。
這是個引數匹配的問題。你的test函式的引數是一個指標陣列,陣列的每個元素是指向stu結構體的指標,而你在呼叫test函式時,你傳進去的引數一個指向結構體陣列的指標,他們的型別不匹配,你只要將test函式的引數中的 去掉即可,即改為void test struct stu s 因為引數型別不匹配。將...
c 中結構體是什麼?有什麼用,c 中的結構體是用來幹嘛的 能解決什麼問題
在c語言中,可以定義結構體型別,將多個相關的變數包裝成為一個整體使用。在結構體中的變數,可以是相同 部分相同,或完全不同的資料型別。在c語言中,結構體不能包含函式。在物件導向的程式設計中,物件具有狀態 屬性 和行為,狀態儲存在成員變數中,行為通過成員方法 函式 來實現。c語言中的結構體只能描述一個物...
c結構體中如果含有其他結構體陣列怎麼初始化?求大神指教
將a suba new a 10 改為 a suba 10 即可.此處 a 代表型別,suba代表變數名 類似int arr 10 寫成 int 10 arr 明顯錯誤 c 中結構體如何定義?結構體的成員中含有陣列 struct b 程式呼叫時 採用 b ab ab.suba new a 10 的方...