Re: [問題] 請問c#如何宣告結構
請問喔 我本來是想要有5000個Node形態的struct
所以我多加Node kkk=new Node[5000]; 為什麼不能阿
如下
struct Node
{
static char[] st_name = new char[30];//靜態
char[] name;
public void Init_name()
{
name=new char[30];
}
}
//Form1類中的方法
private void Form1_Load(object sender, EventArgs e)
{
Node t = new Node();
t.Init_name(); //實例化name
Node kkk=new Node[5000]; //多加的 請問這樣編譯為何還不過
//它寫無法將型別Node[]隱含轉為Node
}
謝謝
※ 引述《Inshion (Inshion)》之銘言:
: 首先說明一下「必須寫在Form1類的下面」的問題…
: 意思就是說,本例中的namespace里的第一個類必須是窗體類Form1
: 如果前面寫了別的類,雖然編譯運行都是正常的,但會打不開設計器(.Net2.0+VS2005)
: 但實際上struct卻是可以寫在窗體類的前面的……但是不推荐這樣寫
: 關于char[]的實例化
: 和類一樣的做法,一是可以做成靜態的,就可以直接實例化;
: 二是可以在結構體里定義一個方法,用結構體的實例來調用
: struct Node
: {
: static char[] st_name = new char[30];//靜態
: char[] name;
: public void Init_name()
: {
: name=new char[30];
: }
: }
: //Form1類中的方法
: private void Form1_Load(object sender, EventArgs e)
: {
: Node t = new Node();
: t.Init_name(); //實例化name
: }
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 122.100.109.211
推
08/23 00:27, , 1F
08/23 00:27, 1F
推
08/23 03:56, , 2F
08/23 03:56, 2F
→
08/23 10:54, , 3F
08/23 10:54, 3F
討論串 (同標題文章)