惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Recent Announcements
Recent Announcements
J
Java Code Geeks
U
Unit 42
GbyAI
GbyAI
大猫的无限游戏
大猫的无限游戏
L
LangChain Blog
D
Docker
F
Fortinet All Blogs
N
Netflix TechBlog - Medium
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
罗磊的独立博客
I
InfoQ
The Cloudflare Blog
小众软件
小众软件
V
Visual Studio Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Engineering at Meta
Engineering at Meta
S
SegmentFault 最新的问题
爱范儿
爱范儿
Hugging Face - Blog
Hugging Face - Blog
P
Proofpoint News Feed
V
V2EX
月光博客
月光博客
Martin Fowler
Martin Fowler

博客园 - great wang

深入理解OAuth 2.0(是一种授权机制,主要用来颁发令牌) 最全的.NET Core跨平台微服务学习资源 飞鱼星路由器端口映射/端口转发的设置步骤及注意事项 .net实现微信公众账号接口开发 飞鱼星路由器端口映射/端口转发的设置步骤及注意事项 SSRS:之为用户“NT AUTHORITY\NETWORK SERVICE”授予的权限不足,无法执行此操作。 (rsAccessDenied) - great wang ASP.NET页面重复加载的问题之<img src="#" /> [转]SQL2008关于c001f011的错误解决办法 SSRS:服务器更名后,ReportingService无法使用和登录的解决办法 误删除系统帐户且SA被禁用,如何修复?单用户模式登录可解决。 使用AspNetPager控件多个参数Url重写功能问题 [转]js动态创建json类型 [转]LINQ分组查询统计(group by、count) [转]js 字符串日期 yyyy-MM-dd 转化为 date [转]并发数的计算 [转]使用SQL语句取相关日期(当月天数,当月第一天,当月最后一天,本年最后一天,当月第一个星期) 日期转字符串 windows服务与控制台应用程序之HttpWebResponse的使用 ASP.NET系统整合DiscuzNT3.6之注意事项 SSRS:首次加载或过一段时间后(默认20分钟)再加载时第一次就非常慢。
[转]Linq查询DataTable,DataRow
great wang · 2013-01-20 · via 博客园 - great wang

 原文:http://www.cnblogs.com/wucg/archive/2010/10/13/1850053.html

static void Main()

        {

            string strcon = global::TestLinqToSQL.Properties.Settings.Default.testConnectionString;

            SqlConnection conn = new SqlConnection(strcon);

            SqlDataAdapter da = new SqlDataAdapter("select * from T_Teacher", strcon);

            DataTable dt = new DataTable();

            da.Fill(dt);

            conn.Close();

            IEnumerable<DataRow> q1 = from r in dt.AsEnumerable()

                                      where r.Field<int>("ID") % 2 == 0

                                      select r;

            foreach (var item in q1)

            {

                Console.WriteLine("ID={0},Name={1},Birthday={2}", item["ID"].ToString(), item["Name"].ToString(), item["Birthday"].ToString());

            }

            Console.WriteLine("-----------------------------------");

            IEnumerable<DataRow> q2 = from r in dt.AsEnumerable()

                                      where r.Field<int>("ID")>10

                                      select r;

            foreach (var item in q2)

            {

                Console.WriteLine("ID={0},Name={1},Birthday={2}", item["ID"].ToString(), item["Name"].ToString(), item["Birthday"].ToString());

            }

            Console.WriteLine("-----------------------------------");

            DataTable dt1 = q1.CopyToDataTable();

            DataTable dt2 = q2.CopyToDataTable();

//集合排除

            //var except = dt2.AsEnumerable().Except(dt1.AsEnumerable() , DataRowComparer.Default);
//集合并

            //var except = dt2.AsEnumerable().Union(dt1.AsEnumerable(), DataRowComparer.Default); 

//集合交

            var except = dt2.AsEnumerable().Intersect(dt1.AsEnumerable(), DataRowComparer.Default);

            foreach (var item in except)

            {

                Console.WriteLine("ID={0},Name={1},Birthday={2}", item["ID"].ToString(), item["Name"].ToString(), item["Birthday"].ToString());

            }

            Console.WriteLine("done");

            Console.ReadLine();

        }