5
我有一個結構(.NET 3.5):爲C#中的結構賦值一個值列表?
struct ColumnHeadings
{
public string Name ;
public int Width ;
} ;
當我嘗試值的列表分配給結構,我收到了「不能隱式轉換類型字符串/ INT爲...」:
private void doSomething()
{
ColumnHeadings[,] ch = new ColumnHeadings[,]{{"column1",100},
{"column2",100},{"column3",100}};
}
結構值可以像多維數組一樣分配嗎?或者我需要使用?:
ch.Name = "column 1";
UPDATE分配的值:
由於馬克的極好的反饋正確的解決方法是:
結構:
struct ColumnHeadings
{
private readonly string name;
private readonly int width;
public string Name { get { return name; } }
public int Width { get { return width; } }
public ColumnHeadings(string name, int width)
{
this.name = name;
this.width = width;
}
}
然後在該方法中:
var ch = new[]{new ColumnHeadings("column1",100),
new ColumnHeadings("column2",100),
new ColumnHeadings("column3",100)};
而link爲什麼可變結構不是一個好主意。
出於好奇,爲什麼是'ColumnHeadings`二維? – 2010-12-01 13:32:06
@ C. Ross - 它的2D由於試圖混搭數組/結構體......) – 2010-12-01 13:34:27