gpt4 book ai didi

c# - 使用自定义类型填充数据表列

转载 作者:行者123 更新时间:2023-12-02 01:21:19 25 4
gpt4 key购买 nike

我想定义一个派生自 System.Data.DataTable 的类。
这个类有一个 PopulateColumns您可以猜到填充 DataTable 的方法。我希望此方法能够使用任意数量的自定义数据类型动态填充数据表列。 (请参阅下面的代码以进行说明)我尝试使用 Dictionary<strin,Type> ,而不是一个一个地传递所有参数:

public void Populate(Dictionary<string, Type> dic)
{
foreach (var item in dic)
this.Columns.Add(item.Key, item.Value);
}

并称它为:

var testDt = new TestDataTable();
Dictionary<string, Type> dicCols = new Dictionary<string, Type>();
dicCols.Add("Index", System.Type.GetType("System.Int32"));
dicCols.Add("Title", System.Type.GetType("System.String"));
testDt.Populate(dicCols);

这很好用。但它不能接受两个相同的列(因为列名是字典中的键)。
我知道我不需要传递两个同名的列。但我很好奇是否有更好的方法。

最佳答案

它比你想象的要简单:

    testDt.Columns.AddRange(new[] 
{
new DataColumn("Index", typeof(int)),
new DataColumn("Title", typeof(string)),
});

或者,您可以预先构建列表:

    var columns = new[] 
{
new DataColumn("Index", typeof(int)),
new DataColumn("Title", typeof(string)),
};

testDt.Columns.AddRange(columns);

(数组、集合等有一个 AddRange() 成员。)

关于c# - 使用自定义类型填充数据表列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4072476/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com