DataColumn
の例を今の書き方で書くならこんな感じ:
void make_table() {
// DataTable インスタンスを作成します。
var table = new DataTable("商品");
// 列定義をタプルの配列で作成します。
var columnDefinitions = new (string name, Type dataType, bool allowNull)[] {
(name: "id" , dataType: typeof(long) , allowNull: false),
(name: "name" , dataType: typeof(string) , allowNull: false),
(name: "price", dataType: typeof(decimal), allowNull: false),
};
// 列を追加します。
foreach ( var columnDefinition in columnDefinitions ) {
var column = new DataColumn {
Caption = columnDefinition.name,
ColumnName = columnDefinition.name,
DataType = columnDefinition.dataType,
AllowDBNull = columnDefinition.allowNull
};
table.Columns.Add( column );
}
// 行を追加します。
long id = 0;
foreach ( var (productName, price) in new (string productName, decimal price)[] {
( productName: "バナナ", price: 200m ),
( productName: "桃" , price: 130m ),
( productName: "梨" , price: 160m )
} ) {
var row = table.NewRow();
row["id"] = ++ id;
row["name"] = name;
row["price"] = price;
table.Rows.Add( row );
}
}