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变量。