java datatable用法_C# DataTable用法示例详解|DataTable Select,sort排序,Linq过滤操作

C# DataTable用法示例详解,将会对C# DataTable select,sort排序,Linq过滤等常用方法进行简单的讲解

先来看看DataTable Select方法有哪几种,如下表所示:NameDescription

ce84c707626f548033603230422b920b.pngSelect()Gets an array of all DataRow objects.   #查找所有数据,返回DataRow数组(以下全部返回数组)

ce84c707626f548033603230422b920b.pngSelect(String)Gets an array of all DataRow objects that match the filter criteria.   #根据匹配条件查找

ce84c707626f548033603230422b920b.pngSelect(String, String)Gets an array of all DataRow objects that match the filter criteria, in the specified sort order.

#根据匹配条件查找,并排序(第二个参数是排序规则)

ce84c707626f548033603230422b920b.pngSelect(String, String, DataViewRowState)Gets an array of all DataRow objects that match the filter in the order of the sort that match the specified state.

下面是一个C# DataTable用法示例,讲述了使用Select(Select(String, String)的第二个参数是排序规则)和Linq表达式来过滤数据,下面的两个用法请分开来学习。namespace demo

{

class Program

{

static void Main(string[] args)

{

DataTable table = new DataTable();

table.Columns.Add("ID", typeof(Int32));

table.Columns.Add("NAME", typeof(string));

table.Columns.Add("AGE", typeof(Int32));

for (int i=1; i<=10; i++)

{

DataRow newRow = table.NewRow();

newRow["ID"] = i;

newRow["NAME"] = "张三"+i;

newRow["AGE"] = i+5;

table.Rows.Add(newRow);

}

//排序 :id大于等于5,并按age年龄倒序

string expression = "ID >= 5";

string sortAge = "AGE DESC";

DataRow[] foundRows = table.Select(expression, sortAge);

for (int i = 0; i 

{

//查看age年龄字段是否排序ok

Console.WriteLine(foundRows[i][2]);

}

Console.Read();

//Linq过滤操作

var ros = table.AsEnumerable().Where(e => e.Field("Age") >= 10);

DataTable filterTable = ros.Count() <= 0 ? null : ros.CopyToDataTable();

foreach (DataRow row in filterTable.Rows)

{

//输出age年龄大于10岁

Console.WriteLine(row[2]);

}

Console.Read();

}

}

}

来源网站:太平洋学习网,转载请注明出处:http://www.tpyyes.com/a/kuozhan/567.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值