{"id":2491,"date":"2013-03-08T12:40:13","date_gmt":"2013-03-08T12:40:13","guid":{"rendered":"http:\/\/enjoyasp.net\/?p=2491"},"modified":"2025-01-08T12:48:36","modified_gmt":"2025-01-08T04:48:36","slug":"linq%e5%9f%ba%e6%9c%ac%e6%93%8d%e4%bd%9c","status":"publish","type":"post","link":"https:\/\/enjoyasp.net\/index.php\/2013\/03\/08\/linq%e5%9f%ba%e6%9c%ac%e6%93%8d%e4%bd%9c\/","title":{"rendered":"linq\u57fa\u672c\u64cd\u4f5c"},"content":{"rendered":"<p>&nbsp;<\/p>\n<h1 class=\"title\" style=\"color: #707070; font-weight: 100; font-size: 3em; line-height: 1.167; font-family: 'Segoe UI', Verdana, Arial; margin-top: 0px;\"><a href=\"http:\/\/msdn.microsoft.com\/zh-cn\/library\/bb397927.aspx\">\u57fa\u672c LINQ \u67e5\u8be2\u64cd\u4f5c<\/a><\/h1>\n<p>\u4e00\uff0clinq to datatable<br \/>\n1,\u67e5\u8be2\u6570\u91cf<br \/>\nusing System.Linq;<\/p>\n<div>\u00a0dt.AsEnumerable()<\/div>\n<div>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 .Count(row =&gt; row.Field&lt;string&gt;(&#8220;Column-A&#8221;) == &#8220;Y&#8221;<\/div>\n<div>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0|| row.Field&lt;string&gt;(&#8220;Column-A&#8221;) == &#8220;N&#8221;);<br \/>\nDataTable\u7684select\u53ea\u80fd\u7528\u4e00\u4e2a\u6761\u4ef6\u30022,top 1<br \/>\n<code class=\"csharp plain\" style=\"line-height: 24px; font-size: 12px; white-space: pre-wrap; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; border: 0px !important; bottom: auto !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important; box-sizing: content-box !important; font-family: 'Courier New', Consolas, 'Bitstream Vera Sans Mono', Courier, monospace !important; min-height: auto !important;\">dtExtOperate.AsEnumerable().First(dr =&gt; dr.Field&lt;string&gt;(\"RoleID\") == \"1101021\");<br \/>\nXML:<\/code><\/p>\n<div>return xdoc.Descendants(&#8220;Cache&#8221;).First(u =&gt; u.Attribute(&#8220;key&#8221;) != null &amp;&amp; u.Attribute(&#8220;key&#8221;).Value == Key).Attribute(&#8220;value&#8221;).Value;<\/div>\n<p><code class=\"csharp plain\" style=\"line-height: 24px; font-size: 12px; white-space: pre-wrap; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; border: 0px !important; bottom: auto !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important; box-sizing: content-box !important; font-family: 'Courier New', Consolas, 'Bitstream Vera Sans Mono', Courier, monospace !important; min-height: auto !important;\">3,<\/code><\/p>\n<p style=\"margin: 10px auto; padding: 0px; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 13px; line-height: 19px; background-color: #f5f5f5;\"><code class=\"csharp plain\" style=\"line-height: 24px; font-size: 12px; white-space: pre-wrap; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; border: 0px !important; bottom: auto !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important; box-sizing: content-box !important; font-family: 'Courier New', Consolas, 'Bitstream Vera Sans Mono', Courier, monospace !important; min-height: auto !important;\">\u5173\u952e\u5b57\u00a0<span style=\"margin: 0px; padding: 0px; color: #0000ff;\">var :<\/span><\/code><\/p>\n<p style=\"margin: 10px auto; padding: 0px; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 13px; line-height: 19px; background-color: #f5f5f5;\"><code class=\"csharp plain\" style=\"line-height: 24px; font-size: 12px; white-space: pre-wrap; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; border: 0px !important; bottom: auto !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important; box-sizing: content-box !important; font-family: 'Courier New', Consolas, 'Bitstream Vera Sans Mono', Courier, monospace !important; min-height: auto !important;\"><em>\u3000\u3000\u3000\u3000<\/em>\u6307\u793a\u7f16\u8bd1\u5668\u6839\u636e\u521d\u59cb\u5316\u8bed\u53e5\u53f3\u4fa7\u7684\u8868\u8fbe\u5f0f\u63a8\u65ad\u53d8\u91cf\u7684\u7c7b\u578b\u3002 \u63a8\u65ad\u7c7b\u578b\u53ef\u4ee5\u662f\u5185\u7f6e\u7c7b\u578b\u3001\u533f\u540d\u7c7b\u578b\u3001\u7528\u6237\u5b9a\u4e49\u7c7b\u578b\u6216 .NET Framework \u7c7b\u5e93\u4e2d\u5b9a\u4e49\u7684\u7c7b\u578b\u3002\u8fd9\u6837\u6211\u4eec\u5c31\u53ef\u4ee5\u5728\u4e0a\u8ff0\u7684LINQ\u8868\u8fbe\u5f0f\u4e2d \u4f8b\u5982\u53ef\u7b80\u5199\u4e3a\uff1a var nums = from n in nums where .... orderby... select....<\/code><\/p>\n<p>4,linq\u5de5\u5177 http:\/\/www.linqpad.net\/<\/p>\n<p>5\uff0clinq\u5ef6\u8fdf\u52a0\u8f7d\uff0c\u5728\u7528\u7684\u65f6\u5019\u518d\u6267\u884c<\/p>\n<p>6\uff0c\u6392\u91cd<\/p>\n<p>&nbsp;<\/p>\n<pre style=\"margin-top: 0px; margin-bottom: 0px; padding: 0px; white-space: pre-wrap; word-wrap: break-word; font-family: 'Courier New'; line-height: 18px;\"><code class=\"csharp plain\" style=\"line-height: 24px; font-size: 12px; white-space: pre-wrap; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; background-image: none !important; border: 0px !important; bottom: auto !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important; box-sizing: content-box !important; font-family: 'Courier New', Consolas, 'Bitstream Vera Sans Mono', Courier, monospace !important; min-height: auto !important;\"><span style=\"margin: 0px; padding: 0px; line-height: 1.5; color: #008000;\">\/\/<\/span> \nIEnumerable&lt;DataRow&gt; rows =<span style=\"margin: 0px; padding: 0px; line-height: 1.5;\"> dt.AsEnumerbale();\n<span style=\"margin: 0px; padding: 0px; line-height: 1.5; color: #008000;\">\/\/ \u53bb\u91cd\u590d<\/span>\nIEnumerable<\/span>&lt;DataRow&gt; distinctRows =<span style=\"margin: 0px; padding: 0px; line-height: 1.5;\"> rows.Distinct(DataRowComparer.Default);<\/span><\/code><\/pre>\n<\/div>\n<p>7\uff0cselect many:\u9009\u62e9\u591a\u4e2a\u8f93\u51fa\u5217<\/p>\n<pre style=\"margin-top: 0px; margin-bottom: 0px; padding: 0px; white-space: pre-wrap; word-wrap: break-word; font-family: Consolas, Arial; line-height: 18px;\"><\/pre>\n<pre style=\"margin-top: 0px; margin-bottom: 0px; padding: 0px; white-space: pre-wrap; word-wrap: break-word; font-family: Consolas, Arial;\"><span style=\"margin: 0px; padding: 0px; line-height: 1.5; color: #0000ff;\">string<\/span>[] fullNames = { <span style=\"margin: 0px; padding: 0px; line-height: 1.5; color: #800000;\">\"<\/span><span style=\"margin: 0px; padding: 0px; line-height: 1.5; color: #800000;\">Anne Williams<\/span><span style=\"margin: 0px; padding: 0px; line-height: 1.5; color: #800000;\">\"<\/span>, <span style=\"margin: 0px; padding: 0px; line-height: 1.5; color: #800000;\">\"<\/span><span style=\"margin: 0px; padding: 0px; line-height: 1.5; color: #800000;\">John Fred Smith<\/span><span style=\"margin: 0px; padding: 0px; line-height: 1.5; color: #800000;\">\"<\/span>, <span style=\"margin: 0px; padding: 0px; line-height: 1.5; color: #800000;\">\"<\/span><span style=\"margin: 0px; padding: 0px; line-height: 1.5; color: #800000;\">Sue Green<\/span><span style=\"margin: 0px; padding: 0px; line-height: 1.5; color: #800000;\">\"<\/span> };\n            IEnumerable&lt;<span style=\"margin: 0px; padding: 0px; line-height: 1.5; color: #0000ff;\">string<\/span>&gt; query = fullNames.SelectMany(name =&gt; name.Split());\n            <span style=\"margin: 0px; padding: 0px; line-height: 1.5; color: #0000ff;\">foreach<\/span> (<span style=\"margin: 0px; padding: 0px; line-height: 1.5; color: #0000ff;\">string<\/span> name <span style=\"margin: 0px; padding: 0px; line-height: 1.5; color: #0000ff;\">in<\/span> query)\n                Console.Write(name + <span style=\"margin: 0px; padding: 0px; line-height: 1.5; color: #800000;\">\"<\/span><span style=\"margin: 0px; padding: 0px; line-height: 1.5; color: #800000;\">|<\/span><span style=\"margin: 0px; padding: 0px; line-height: 1.5; color: #800000;\">\"<\/span>); <span style=\"margin: 0px; padding: 0px; line-height: 1.5; color: #008000;\">\/\/<\/span><span style=\"margin: 0px; padding: 0px; line-height: 1.5; color: #008000;\"> Anne|Williams|John|Fred|Smith|Sue|Green|\n\n\n<\/span><\/pre>\n<p>8,\u67e5\u8be2\u662f\u5426\u5b58\u5728<br \/>\ndtExtOperate.AsEnumerable().Any(dr =&gt; dr.Field&lt;int&gt;(&#8220;MenuID&#8221;) == MenuID)<\/p>\n<p>9.\u51fa\u5904\u00a0http:\/\/www.cnblogs.com\/jfzhu\/archive\/2013\/01\/01\/2841332.html<\/p>\n<div>\n<p style=\"margin: 10px auto; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 23px; background-color: #ffffff;\"><img loading=\"lazy\" decoding=\"async\" style=\"border: 0px; background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px;\" title=\"image\" src=\"https:\/\/images.cnitblog.com\/blog\/442200\/201301\/01091112-4d988b66be014a11ac0d35df19dd9dad.png\" alt=\"image\" width=\"649\" height=\"619\" border=\"0\" \/><\/p>\n<p style=\"margin: 10px auto; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 23px; background-color: #ffffff;\">\n<p style=\"margin: 10px auto; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 23px; background-color: #ffffff;\"><img loading=\"lazy\" decoding=\"async\" style=\"border: 0px; background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px;\" title=\"image\" src=\"https:\/\/images.cnitblog.com\/blog\/442200\/201301\/01091120-979cbeaed28440af81853b132908a6db.png\" alt=\"image\" width=\"649\" height=\"868\" border=\"0\" \/><\/p>\n<p style=\"margin: 10px auto; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 23px; background-color: #ffffff;\">\n<p style=\"margin: 10px auto; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 23px; background-color: #ffffff;\"><a style=\"color: #0066aa; text-decoration: none;\" href=\"https:\/\/images.cnitblog.com\/blog\/442200\/201301\/01091123-7af928c6facc47799014949314a75996.png\"><img loading=\"lazy\" decoding=\"async\" style=\"border: 0px; background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px;\" title=\"image\" src=\"https:\/\/images.cnitblog.com\/blog\/442200\/201301\/01091126-b87f75eb0e7649598c83fbe58fc0cb26.png\" alt=\"image\" width=\"649\" height=\"505\" border=\"0\" \/><\/a><\/p>\n<p style=\"margin: 10px auto; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 23px; background-color: #ffffff;\">\n<p style=\"margin: 10px auto; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 23px; background-color: #ffffff;\"><a style=\"color: #0066aa; text-decoration: none;\" href=\"https:\/\/images.cnitblog.com\/blog\/442200\/201301\/01091129-ba83037c1f8640d59e7951e5d1060ef8.png\"><img loading=\"lazy\" decoding=\"async\" style=\"border: 0px; background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px;\" title=\"image\" src=\"https:\/\/images.cnitblog.com\/blog\/442200\/201301\/01091132-8dfb8ff94fe0459c905b0ff0628fac3f.png\" alt=\"image\" width=\"649\" height=\"619\" border=\"0\" \/><\/a><\/p>\n<p style=\"margin: 10px auto; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 23px; background-color: #ffffff;\">\n<p style=\"margin: 10px auto; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 23px; background-color: #ffffff;\"><a style=\"color: #0066aa; text-decoration: none;\" href=\"https:\/\/images.cnitblog.com\/blog\/442200\/201301\/01091135-d1941df7a913475eae22c8f6e8188b19.png\"><img loading=\"lazy\" decoding=\"async\" style=\"border: 0px; background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px;\" title=\"image\" src=\"https:\/\/images.cnitblog.com\/blog\/442200\/201301\/01091138-d397f6b6e8744427903d34f09f9a3e30.png\" alt=\"image\" width=\"649\" height=\"619\" border=\"0\" \/><\/a><\/p>\n<p style=\"margin: 10px auto; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 23px; background-color: #ffffff;\">\n<p style=\"margin: 10px auto; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 23px; background-color: #ffffff;\"><a style=\"color: #0066aa; text-decoration: none;\" href=\"https:\/\/images.cnitblog.com\/blog\/442200\/201301\/01091141-1a91e1279d1b40d1993300232a56c485.png\"><img loading=\"lazy\" decoding=\"async\" style=\"border: 0px; background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px;\" title=\"image\" src=\"https:\/\/images.cnitblog.com\/blog\/442200\/201301\/01091145-026ee711bb2c4850abc8887d56241597.png\" alt=\"image\" width=\"649\" height=\"1027\" border=\"0\" \/><\/a><\/p>\n<p style=\"margin: 10px auto; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 23px; background-color: #ffffff;\">\n<p style=\"margin: 10px auto; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 23px; background-color: #ffffff;\"><a style=\"color: #0066aa; text-decoration: none;\" href=\"https:\/\/images.cnitblog.com\/blog\/442200\/201301\/01091148-1adb74388af94f34a958c8623c3d1ff6.png\"><img loading=\"lazy\" decoding=\"async\" style=\"border: 0px; background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px;\" title=\"image\" src=\"https:\/\/images.cnitblog.com\/blog\/442200\/201301\/01091151-207541b249e44f19bd99fb05f5d7fed1.png\" alt=\"image\" width=\"649\" height=\"392\" border=\"0\" \/><\/a><\/p>\n<p style=\"margin: 10px auto; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 23px; background-color: #ffffff;\">\n<p style=\"margin: 10px auto; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 23px; background-color: #ffffff;\"><a style=\"color: #0066aa; text-decoration: none;\" href=\"https:\/\/images.cnitblog.com\/blog\/442200\/201301\/01091153-f8a14bc864494951b049deb78d6e3f54.png\"><img loading=\"lazy\" decoding=\"async\" style=\"border: 0px; background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px;\" title=\"image\" src=\"https:\/\/images.cnitblog.com\/blog\/442200\/201301\/01091155-5cc0cc12e2ba4e6380597294e995447c.png\" alt=\"image\" width=\"649\" height=\"233\" border=\"0\" \/><\/a><\/p>\n<p style=\"margin: 10px auto; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 23px; background-color: #ffffff;\">\n<p style=\"margin: 10px auto; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 23px; background-color: #ffffff;\"><a style=\"color: #0066aa; text-decoration: none;\" href=\"https:\/\/images.cnitblog.com\/blog\/442200\/201301\/01091158-7f8feed4edcc41c7a7d7926be3e79a1b.png\"><img loading=\"lazy\" decoding=\"async\" style=\"border: 0px; background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px;\" title=\"image\" src=\"https:\/\/images.cnitblog.com\/blog\/442200\/201301\/01091200-c7854c74142c4561a78effcc4c8d132f.png\" alt=\"image\" width=\"649\" height=\"407\" border=\"0\" \/><\/a><\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>&nbsp; \u57fa\u672c LINQ \u67e5\u8be2\u64cd\u4f5c \u4e00\uff0clinq to datatable 1,\u67e5\u8be2\u6570\u91cf using Sy [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7],"tags":[],"class_list":["post-2491","post","type-post","status-publish","format-standard","hentry","category-ado"],"blocksy_meta":[],"_links":{"self":[{"href":"https:\/\/enjoyasp.net\/index.php\/wp-json\/wp\/v2\/posts\/2491","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/enjoyasp.net\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/enjoyasp.net\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/enjoyasp.net\/index.php\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/enjoyasp.net\/index.php\/wp-json\/wp\/v2\/comments?post=2491"}],"version-history":[{"count":1,"href":"https:\/\/enjoyasp.net\/index.php\/wp-json\/wp\/v2\/posts\/2491\/revisions"}],"predecessor-version":[{"id":3333,"href":"https:\/\/enjoyasp.net\/index.php\/wp-json\/wp\/v2\/posts\/2491\/revisions\/3333"}],"wp:attachment":[{"href":"https:\/\/enjoyasp.net\/index.php\/wp-json\/wp\/v2\/media?parent=2491"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/enjoyasp.net\/index.php\/wp-json\/wp\/v2\/categories?post=2491"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/enjoyasp.net\/index.php\/wp-json\/wp\/v2\/tags?post=2491"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}