当前位置: 代码迷 >> C# >> C#对于DataTable的操作解决方法
  详细解决方案

C#对于DataTable的操作解决方法

热度:114   发布时间:2016-05-05 02:35:34.0
C#对于DataTable的操作
把一列的内容作为条件(比如为”苹果“),选出这些该列为苹果行,然后将这些行中的另一列中的数值相加。。


不知道描述清楚了吗

初学者、。。
------解决思路----------------------
先给个Linq的

DataTable table = new DataTable();
int sum = table.AsEnumerable().Where(p => p.Field<string>("列1") == "苹果").Sum(p => p.Field<int>("列2"));

------解决思路----------------------
最笨的方法用循环写,循环每一行,如果该列的值为苹果,则取出改行中另一列的值,可在外面定义一个变量,++就可以了
------解决思路----------------------
dt.Select("name='苹果'").Sum(r=>r.Field<int>("num"))
一半DataTable自身的方法,一半Linq
------解决思路----------------------

using System.Data;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            var dt = new DataTable
                     {
                         Columns =
                         {
                             "f1", { "f2", typeof(int) }
                         },
                         Rows =
                         {
                             { "苹果", 1 },
                             { "苹果", 2 },
                             { "不是苹果", 3 }
                         }
                     };
            dt.Compute("sum(f2)", "f1='苹果'");   //3
        }
    }
}
  相关解决方案