首页 > 解决方案 > 设置数组时如何将数组中的一个元素设置为null?

问题描述

我想从 int 数组中获取新的数据行。我设置了数组,我希望数组中间的一个单元格为空。我需要如何在数组中设置元素 null?

我试过“null”,“DBNull.Value”它不起作用。

DataRow dr = dt.NewRow();
int[] codCell = { v1, v2, Null,v3};
while (i < codCell.Length)
{
    dr[i] = codCell[i];
    i++;
}
myTable.Rows.Add(dr);

标签: c#arraysdatatable

解决方案


这里有2个问题,1是你需要使用int吗?如果您想要空值(如 Stefan 所说),则用于数组。另一个是在 DataTable 中,您应该将值设置为DBNull.value.

此外,除非myTabledt是相同的实例,您必须使用该实例ImportRow将行复制到另一个表中。

DataTable dt = new DataTable();
dt.Columns.Add("V1",typeof(int));
dt.Columns.Add("V2",typeof(int));
dt.Columns.Add("V3",typeof(int));
dt.Columns.Add("V4",typeof(int));

DataTable myTable = dt.Clone();

int v1 = 1;
int v2 = 2;
int v3 = 3;

int i = 0;

DataRow dr = dt.NewRow();
int?[] codCell = { v1, v2, null, v3 };
while (i < codCell.Length)
{
    dr[i] = codCell[i] ?? (object)DBNull.Value;
    i++;
}

myTable.ImportRow(dr);

推荐阅读