我对如何在表格上插入新列感到困惑,以及Columns.Add()
和new DataColumn()
之间的区别是什么?
DataTable student = new DataTable("Students");
student.Columns.Add("ID", typeof(int));
DataColumn id = new DataColumn("ID");
id.DataType = typeof(int);
student.Columns.Add(id);
答案 0 :(得分:2)
DataColumnCollection.Add
只是创建列并添加它的捷径。正如MSDN所说:
创建并添加具有指定名称和的DataColumn对象 输入到DataColumnCollection。
这就是它的实施方式:
public DataColumn Add(string columnName, Type type)
{
DataColumn column = new DataColumn(columnName, type);
this.Add(column);
return column;
}
正如您所看到的,在内部它会创建DataColumn
的新实例并将其添加到自身。
注意:您可以使用接受列数据类型的DataColumn
构造函数作为第二个参数。因此,您的第二个样本可能如下所示:
student.Columns.Add(new DataColumn("ID", typeof(int)));
但无论如何,我认为首先'捷径'选项更具可读性和紧凑性。如果您已经有一些列,或者如果您有从DataColumn
继承的自定义类型列,则可能需要使用后一种方法。