关于c#:DataColumn DataType int和long

DataColumn DataType int and long

是否可以在包含int和long值的DataTable中使用DataColumn? 如果有效的int则应返回一个int值,否则应返回一个long值。

在某些背景下,我为什么要实现此目的,我发布了一个创建int类型的DataColumn的产品,但是从一开始它就应该很长。 现在,我不想破坏将项目的值显式转换为int的现有项目,但是我想在列中允许使用长值。

我可以在DataTable上订阅一个事件,以将值转换为int吗?

以下代码应正确执行。

1
2
3
4
5
6
7
8
9
10
11
12
13
        DataTable dataTable = new DataTable();
        dataTable.Columns.Add("IntAndLong", typeof(long));

        DataRow intRow = dataTable.NewRow();
        intRow[0] = 123;
        dataTable.Rows.Add(intRow);

        DataRow longRow = dataTable.NewRow();
        longRow[0] = 3000000000;
        dataTable.Rows.Add(longRow);

        long longValue = (long)dataTable.Rows[1][0];
        int intValue = (int)dataTable.Rows[0][0];


我建议将数据列值收集在一个长型变量中,检查其值是否小于int.MaxValue并大于int.MinValue,然后在需要时将其强制转换为int变量。