【发布时间】:2021-09-22 00:59:28
【问题描述】:
是否可以将对象数组存储在数据表的列中?
object[] arr1 = new object[] { "a", false, 100 };
DataTable dt = new DataTable();
dt.Columns.Add("Column1");
DataRow row = dt.NewRow();
row["Column1"] = arr1;
dt.Rows.Add(row);
// After
foreach (DataRow rowRead in dt.Rows)
{
object[] result = rowRead["Column1"];
}
【问题讨论】:
-
这闻起来像XY problem。你能解释一下为什么你想这样做吗?您是否真的想解决更深层次的问题,或者您真的对
DataTable的工作原理感到好奇? -
你读过documentation吗?
-
我有一个不断增长的应用程序的 ToolStrip ... 每个选项都是从具有允许授权的数据表中检索的。我已经开始将整个应用程序迁移到小 dll 中。在某些调用 winform 的情况下,使用了参数。所以我需要在有参数或没有参数的情况下调用 DLL。我在数据表的列中需要的那些参数。如果不可能,我会将数据表迁移到列表
-
我也很好奇你为什么要这样做。您是否考虑过使用一个 DataSet 和两个带有某种键的 DataTable 来匹配它们?如果是我,我会尽量远离 DataTable,只使用一个带有数组的 POCO,如果可能的话。
标签: c# arrays object datatable