У меня есть .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:
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 к почему mutuable структуры не являются хорошей идеей.
из любопытства, почему `ColumnHeadings` двухмерное? – 2010-12-01 13:32:06
@ C. Ross - его 2D из-за попытки массивов mashup/structs ... :) – 2010-12-01 13:34:27