美文网首页
.Net DataTable 计算列小结

.Net DataTable 计算列小结

作者: 寻找无名的特质 | 来源:发表于2021-08-18 05:46 被阅读0次

.Net的DataTable的列可以是计算列,可以在列属性Expression中设置表达式,这样可以获得其它列相关的计算结果。比如:

            var dt = new DataTable();

            dt.Columns.Add("Para1", typeof(Int32));
            dt.Columns.Add("Para2", typeof(Int32));
            var column=dt.Columns.Add("Para3");
            column.Expression = "Para1+Para2";
            var row = dt.NewRow();
            row["Para1"] = "1";
            row["Para2"] = 2;
            dt.Rows.Add(row);
            var res1 = row["Para3"];
            Console.WriteLine(res1);
            Console.WriteLine(res1.GetType().FullName);

所得的结果是 3。
这里需要注意的是计算列的数据类型和参与计算列的数据类型。

  • 参与计算列的数据类型很重要,比如上面的代码中,如果将Para1的类型改为String,所得到的结果是12而不是3,因为这两个变量作为字符串相加。
  • 在赋值时,可以使用字符串,比如 row["Para1"] = "1"; 仍然作为数字1。
  • 计算结果列的数据类型可以是字符型,不影响计算结果。
  • 日期时间可以用##格式表示,比如 row["Para1"] = "#2021/5/5#";
  • 布尔类型接收的值为True或者False,大小写无关,TRue和true都可以,除此之外都不可以。

相关文章

网友评论

      本文标题:.Net DataTable 计算列小结

      本文链接:https://www.haomeiwen.com/subject/zwtubltx.html