mirror of
https://github.com/jaywcjlove/reference.git
synced 2025-06-18 05:01:21 +08:00
doc: update docs/cs.md e8af72372c
This commit is contained in:
43
docs/cs.html
43
docs/cs.html
@ -1551,33 +1551,34 @@ C# 备忘清单
|
||||
<!--rehype:className=wrap-text-->
|
||||
</div></div></div><div class="wrap h3body-not-exist col-span-3"><div class="wrap-header h3wrap"><h3 id="join"><a aria-hidden="true" tabindex="-1" href="#join"><span class="icon icon-link"></span></a>JOIN</h3><div class="wrap-body">
|
||||
<!--rehype:wrap-class=col-span-3-->
|
||||
<blockquote>
|
||||
<p><code>Join</code>:用于执行内连接操作,它会返回两个数据源中满足连接条件的元素的交集</p>
|
||||
<p><code>GroupJoin</code>:用于执行左外连接(left outer join)操作,它会返回左边数据源的所有元素,以及每个元素所匹配的右边数据源的元素组成的集合。(嵌套)</p>
|
||||
</blockquote>
|
||||
<pre class="language-cs"><code class="language-cs code-highlight"><span class="code-line"><span class="token comment">// 示例数据源</span>
|
||||
</span><span class="code-line"><span class="token class-name">List<span class="token punctuation"><</span>Department<span class="token punctuation">></span></span> departments <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token constructor-invocation class-name">List<span class="token punctuation"><</span>Department<span class="token punctuation">></span></span>
|
||||
<ul>
|
||||
<li><code>Join</code>:用于执行内连接操作,它会返回两个数据源中满足连接条件的元素的交集</li>
|
||||
<li><code>GroupJoin</code>:用于执行左外连接(left outer join)操作,它会返回左边数据源的所有元素,以及每个元素所匹配的右边数据源的元素组成的集合。(嵌套)</li>
|
||||
</ul>
|
||||
<p>示例数据源</p>
|
||||
<pre class="language-cs"><code class="language-cs code-highlight"><span class="code-line"><span class="token class-name">List<span class="token punctuation"><</span>Department<span class="token punctuation">></span></span> departments <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token constructor-invocation class-name">List<span class="token punctuation"><</span>Department<span class="token punctuation">></span></span>
|
||||
</span><span class="code-line"><span class="token punctuation">{</span>
|
||||
</span><span class="code-line"> <span class="token keyword">new</span> <span class="token constructor-invocation class-name">Department</span> <span class="token punctuation">{</span> ID <span class="token operator">=</span> <span class="token number">1</span><span class="token punctuation">,</span> Name <span class="token operator">=</span> <span class="token string">"HR"</span> <span class="token punctuation">}</span><span class="token punctuation">,</span>
|
||||
</span><span class="code-line"> <span class="token keyword">new</span> <span class="token constructor-invocation class-name">Department</span> <span class="token punctuation">{</span> ID <span class="token operator">=</span> <span class="token number">2</span><span class="token punctuation">,</span> Name <span class="token operator">=</span> <span class="token string">"IT"</span> <span class="token punctuation">}</span>
|
||||
</span><span class="code-line"><span class="token punctuation">}</span><span class="token punctuation">;</span>
|
||||
</span><span class="code-line"><span class="token comment">// 示例数据源</span>
|
||||
</span><span class="code-line"><span class="token class-name">List<span class="token punctuation"><</span>Employee<span class="token punctuation">></span></span> employees <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token constructor-invocation class-name">List<span class="token punctuation"><</span>Employee<span class="token punctuation">></span></span>
|
||||
</span></code></pre>
|
||||
<p>示例数据源</p>
|
||||
<pre class="language-cs"><code class="language-cs code-highlight"><span class="code-line"><span class="token class-name">List<span class="token punctuation"><</span>Employee<span class="token punctuation">></span></span> employees <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token constructor-invocation class-name">List<span class="token punctuation"><</span>Employee<span class="token punctuation">></span></span>
|
||||
</span><span class="code-line"><span class="token punctuation">{</span>
|
||||
</span><span class="code-line"> <span class="token keyword">new</span> <span class="token constructor-invocation class-name">Employee</span> <span class="token punctuation">{</span> DepartmentID <span class="token operator">=</span> <span class="token number">1</span><span class="token punctuation">,</span> Name <span class="token operator">=</span> <span class="token string">"Alice"</span> <span class="token punctuation">}</span><span class="token punctuation">,</span>
|
||||
</span><span class="code-line"> <span class="token keyword">new</span> <span class="token constructor-invocation class-name">Employee</span> <span class="token punctuation">{</span> DepartmentID <span class="token operator">=</span> <span class="token number">2</span><span class="token punctuation">,</span> Name <span class="token operator">=</span> <span class="token string">"Bob"</span> <span class="token punctuation">}</span><span class="token punctuation">,</span>
|
||||
</span><span class="code-line"> <span class="token keyword">new</span> <span class="token constructor-invocation class-name">Employee</span> <span class="token punctuation">{</span> DepartmentID <span class="token operator">=</span> <span class="token number">1</span><span class="token punctuation">,</span> Name <span class="token operator">=</span> <span class="token string">"Charlie"</span> <span class="token punctuation">}</span><span class="token punctuation">,</span>
|
||||
</span><span class="code-line"> <span class="token keyword">new</span> <span class="token constructor-invocation class-name">Employee</span> <span class="token punctuation">{</span> DepartmentID <span class="token operator">=</span> <span class="token number">3</span><span class="token punctuation">,</span> Name <span class="token operator">=</span> <span class="token string">"David"</span> <span class="token punctuation">}</span>
|
||||
</span><span class="code-line"><span class="token punctuation">}</span><span class="token punctuation">;</span>
|
||||
</span><span class="code-line">
|
||||
</span><span class="code-line"><span class="token comment">// 使用Join,将部门和员工相结合,获取部门名称和员工名称的集合</span>
|
||||
</span><span class="code-line"><span class="token class-name"><span class="token keyword">var</span></span> joinQuery <span class="token operator">=</span> departments<span class="token punctuation">.</span><span class="token function">Join</span><span class="token punctuation">(</span>employees<span class="token punctuation">,</span>
|
||||
</span></code></pre>
|
||||
<p>使用 <code>Join</code>,将部门和员工相结合,获取部门名称和员工名称的集合</p>
|
||||
<pre class="language-cs"><code class="language-cs code-highlight"><span class="code-line"><span class="token class-name"><span class="token keyword">var</span></span> joinQuery <span class="token operator">=</span> departments<span class="token punctuation">.</span><span class="token function">Join</span><span class="token punctuation">(</span>employees<span class="token punctuation">,</span>
|
||||
</span><span class="code-line"> department <span class="token operator">=></span> department<span class="token punctuation">.</span>ID<span class="token punctuation">,</span> employee <span class="token operator">=></span> employee<span class="token punctuation">.</span>DepartmentID<span class="token punctuation">,</span>
|
||||
</span><span class="code-line"> <span class="token punctuation">(</span>department<span class="token punctuation">,</span> employee<span class="token punctuation">)</span> <span class="token operator">=></span> <span class="token keyword">new</span> <span class="token punctuation">{</span> Department <span class="token operator">=</span> department<span class="token punctuation">.</span>Name<span class="token punctuation">,</span> Employee <span class="token operator">=</span> employee<span class="token punctuation">.</span>Name <span class="token punctuation">}</span>
|
||||
</span><span class="code-line"><span class="token punctuation">)</span><span class="token punctuation">;</span>
|
||||
</span><span class="code-line">
|
||||
</span><span class="code-line"><span class="token comment">// 使用GroupJoin,将部门和员工相结合,返回所有的部门,并返回每个部门相关联的员工集合(嵌套)</span>
|
||||
</span><span class="code-line"><span class="token class-name"><span class="token keyword">var</span></span> groupJoinQuery <span class="token operator">=</span> departments<span class="token punctuation">.</span><span class="token function">GroupJoin</span><span class="token punctuation">(</span>employees<span class="token punctuation">,</span>
|
||||
</span></code></pre>
|
||||
<p>使用 <code>GroupJoin</code>,将部门和员工相结合,返回所有的部门,并返回每个部门相关联的员工集合(嵌套)</p>
|
||||
<pre class="language-cs"><code class="language-cs code-highlight"><span class="code-line"><span class="token class-name"><span class="token keyword">var</span></span> groupJoinQuery <span class="token operator">=</span> departments<span class="token punctuation">.</span><span class="token function">GroupJoin</span><span class="token punctuation">(</span>employees<span class="token punctuation">,</span>
|
||||
</span><span class="code-line"> department <span class="token operator">=></span> department<span class="token punctuation">.</span>ID<span class="token punctuation">,</span> employee <span class="token operator">=></span> employee<span class="token punctuation">.</span>DepartmentID<span class="token punctuation">,</span>
|
||||
</span><span class="code-line"> <span class="token punctuation">(</span>department<span class="token punctuation">,</span> employeeGroup<span class="token punctuation">)</span> <span class="token operator">=></span> <span class="token keyword">new</span>
|
||||
</span><span class="code-line"> <span class="token punctuation">{</span>
|
||||
@ -1624,9 +1625,7 @@ C# 备忘清单
|
||||
<!--rehype:className=wrap-text-->
|
||||
</div></div></div><div class="wrap h3body-not-exist col-span-3"><div class="wrap-header h3wrap"><h3 style="background:#e91e63;" id="示例"><a aria-hidden="true" tabindex="-1" href="#示例"><span class="icon icon-link"></span></a>示例</h3><div class="wrap-body">
|
||||
<!--rehype:wrap-class=col-span-3&style=background:#e91e63;-->
|
||||
<blockquote>
|
||||
<p>假设有一个包含学生信息的列表,每个学生有姓名、年龄和成绩。使用LINQ查询来选择年龄大于20岁的学生,然后按照他们的成绩进行分组,并选择每个分组中年龄最小的学生的姓名。</p>
|
||||
</blockquote>
|
||||
<pre class="language-cs"><code class="language-cs code-highlight"><span class="code-line"><span class="token comment">// 示例数据源</span>
|
||||
</span><span class="code-line"><span class="token class-name">List<span class="token punctuation"><</span>Student<span class="token punctuation">></span></span> students <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token constructor-invocation class-name">List<span class="token punctuation"><</span>Student<span class="token punctuation">></span></span>
|
||||
</span><span class="code-line"><span class="token punctuation">{</span>
|
||||
@ -1638,16 +1637,16 @@ C# 备忘清单
|
||||
</span><span class="code-line"> <span class="token keyword">new</span> <span class="token constructor-invocation class-name">Student</span> <span class="token punctuation">{</span> Name <span class="token operator">=</span> <span class="token string">"Damon"</span><span class="token punctuation">,</span> Age <span class="token operator">=</span> <span class="token number">28</span><span class="token punctuation">,</span> Grade <span class="token operator">=</span> <span class="token string">"B"</span> <span class="token punctuation">}</span><span class="token punctuation">,</span>
|
||||
</span><span class="code-line"> <span class="token keyword">new</span> <span class="token constructor-invocation class-name">Student</span> <span class="token punctuation">{</span> Name <span class="token operator">=</span> <span class="token string">"Echo"</span><span class="token punctuation">,</span> Age <span class="token operator">=</span> <span class="token number">18</span><span class="token punctuation">,</span> Grade <span class="token operator">=</span> <span class="token string">"C"</span> <span class="token punctuation">}</span>
|
||||
</span><span class="code-line"><span class="token punctuation">}</span><span class="token punctuation">;</span>
|
||||
</span><span class="code-line">
|
||||
</span><span class="code-line"><span class="token comment">// 使用LINQ进行查询</span>
|
||||
</span><span class="code-line"><span class="token class-name"><span class="token keyword">var</span></span> result <span class="token operator">=</span> students
|
||||
</span></code></pre>
|
||||
<p>使用 <code>LINQ</code> 进行查询</p>
|
||||
<pre class="language-cs"><code class="language-cs code-highlight"><span class="code-line"><span class="token class-name"><span class="token keyword">var</span></span> result <span class="token operator">=</span> students
|
||||
</span><span class="code-line"> <span class="token punctuation">.</span><span class="token function">Where</span><span class="token punctuation">(</span>student <span class="token operator">=></span> student<span class="token punctuation">.</span>Age <span class="token operator">></span> <span class="token number">20</span><span class="token punctuation">)</span> <span class="token comment">// WHERE: 选择年龄大于20的学生</span>
|
||||
</span><span class="code-line"> <span class="token punctuation">.</span><span class="token function">GroupBy</span><span class="token punctuation">(</span>student <span class="token operator">=></span> student<span class="token punctuation">.</span>Grade<span class="token punctuation">)</span> <span class="token comment">// GROUP BY: 按成绩分组</span>
|
||||
</span><span class="code-line"> <span class="token punctuation">.</span><span class="token function">Select</span><span class="token punctuation">(</span><span class="token keyword">group</span> <span class="token operator">=></span> <span class="token keyword">group</span><span class="token punctuation">.</span><span class="token function">OrderBy</span><span class="token punctuation">(</span>student <span class="token operator">=></span> student<span class="token punctuation">.</span>Age<span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">First</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">.</span>Name<span class="token punctuation">)</span> <span class="token comment">// SELECT: 选择每个分组中年龄最小的学生的姓名</span>
|
||||
</span><span class="code-line"> <span class="token punctuation">.</span><span class="token function">ToList</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">//转换为List<Student>()</span>
|
||||
</span><span class="code-line">
|
||||
</span><span class="code-line"><span class="token comment">//输出结果</span>
|
||||
</span><span class="code-line"><span class="token punctuation">[</span><span class="token string">"Charlie"</span><span class="token punctuation">,</span><span class="token string">"Damon"</span><span class="token punctuation">,</span><span class="token string">"David"</span><span class="token punctuation">]</span>
|
||||
</span></code></pre>
|
||||
<p>输出结果</p>
|
||||
<pre class="language-cs"><code class="language-cs code-highlight"><span class="code-line"><span class="token punctuation">[</span><span class="token string">"Charlie"</span><span class="token punctuation">,</span><span class="token string">"Damon"</span><span class="token punctuation">,</span><span class="token string">"David"</span><span class="token punctuation">]</span>
|
||||
</span></code></pre>
|
||||
</div></div></div></div></div><div class="wrap h2body-exist"><div class="wrap-header h2wrap"><h2 id="语法糖"><a aria-hidden="true" tabindex="-1" href="#语法糖"><span class="icon icon-link"></span></a>语法糖</h2><div class="wrap-body">
|
||||
<blockquote>
|
||||
|
@ -877,6 +877,7 @@
|
||||
<a href="https://github.com/MackDing" title="Blossom"><img src="https://avatars.githubusercontent.com/u/19878893?v=4" width="42;" alt="Blossom"></a>
|
||||
<a href="https://github.com/1250422131" title="萌新杰少"><img src="https://avatars.githubusercontent.com/u/52126790?v=4" width="42;" alt="萌新杰少"></a>
|
||||
<a href="https://github.com/chaos-cn" title="chaos"><img src="https://avatars.githubusercontent.com/u/71205599?v=4" width="42;" alt="chaos"></a>
|
||||
<a href="https://github.com/Willxup" title="Willxup"><img src="https://avatars.githubusercontent.com/u/51990395?v=4" width="42;" alt="Willxup"></a>
|
||||
<a href="https://github.com/LiuYuan-SHU" title="Yuan Liu"><img src="https://avatars.githubusercontent.com/u/96400967?v=4" width="42;" alt="Yuan Liu"></a>
|
||||
<a href="https://github.com/lvelvee" title="Lve Lvee"><img src="https://avatars.githubusercontent.com/u/25785753?v=4" width="42;" alt="Lve Lvee"></a>
|
||||
<a href="https://github.com/wsypower" title="魏"><img src="https://avatars.githubusercontent.com/u/31298317?v=4" width="42;" alt="魏"></a>
|
||||
@ -891,7 +892,6 @@
|
||||
<a href="https://github.com/ljq" title="Jack Liu"><img src="https://avatars.githubusercontent.com/u/7278286?v=4" width="42;" alt="Jack Liu"></a>
|
||||
<a href="https://github.com/Jovins" title="Jovins"><img src="https://avatars.githubusercontent.com/u/17738992?v=4" width="42;" alt="Jovins"></a>
|
||||
<a href="https://github.com/LesterChang0987" title="LesterChang0987"><img src="https://avatars.githubusercontent.com/u/114913921?v=4" width="42;" alt="LesterChang0987"></a>
|
||||
<a href="https://github.com/Willxup" title="Willxup"><img src="https://avatars.githubusercontent.com/u/51990395?v=4" width="42;" alt="Willxup"></a>
|
||||
<a href="https://github.com/XYZscratcher" title="XYZ"><img src="https://avatars.githubusercontent.com/u/108533817?v=4" width="42;" alt="XYZ"></a>
|
||||
<a href="https://github.com/findnr" title="findnr"><img src="https://avatars.githubusercontent.com/u/3909023?v=4" width="42;" alt="findnr"></a>
|
||||
<a href="https://github.com/greyhao" title="greyhao"><img src="https://avatars.githubusercontent.com/u/107107440?v=4" width="42;" alt="greyhao"></a>
|
||||
@ -1354,7 +1354,7 @@
|
||||
<!--rehype:class=home-card home-links-->
|
||||
<p>如果你有资源,可以很方便<a href="https://github.com/jaywcjlove/reference/issues/102#issue-1451649637">部署 web 版</a>,这非常简单,只需要克隆 <a href="https://github.com/jaywcjlove/reference/tree/gh-pages">gh-pages</a> 分支代码到你的静态服务就可以了,还可以使用 <a href="https://hub.docker.com/r/wcjiang/reference">docker</a> 快捷部署 web 版。</p>
|
||||
|
||||
</div></div><div class="h2wrap-body"></div></div></div></div><footer class="footer-wrap"><footer class="max-container">© 2022 <a href="https://wangchujiang.com/#/app" target="_blank">Kenny Wang</a>. Updated on 2024/04/12 16:53:16</footer></footer><script src="data.js?v=1.5.3" defer></script><script src="js/fuse.min.js?v=1.5.3" defer></script><script src="js/main.js?v=1.5.3" defer></script><div id="mysearch"><div class="mysearch-box"><div class="mysearch-input"><div><svg xmlns="http://www.w3.org/2000/svg" height="1em" width="1em" viewBox="0 0 18 18">
|
||||
</div></div><div class="h2wrap-body"></div></div></div></div><footer class="footer-wrap"><footer class="max-container">© 2022 <a href="https://wangchujiang.com/#/app" target="_blank">Kenny Wang</a>. Updated on 2024/04/12 22:28:01</footer></footer><script src="data.js?v=1.5.3" defer></script><script src="js/fuse.min.js?v=1.5.3" defer></script><script src="js/main.js?v=1.5.3" defer></script><div id="mysearch"><div class="mysearch-box"><div class="mysearch-input"><div><svg xmlns="http://www.w3.org/2000/svg" height="1em" width="1em" viewBox="0 0 18 18">
|
||||
<path fill="currentColor" d="M17.71,16.29 L14.31,12.9 C15.4069846,11.5024547 16.0022094,9.77665502 16,8 C16,3.581722 12.418278,0 8,0 C3.581722,0 0,3.581722 0,8 C0,12.418278 3.581722,16 8,16 C9.77665502,16.0022094 11.5024547,15.4069846 12.9,14.31 L16.29,17.71 C16.4777666,17.8993127 16.7333625,18.0057983 17,18.0057983 C17.2666375,18.0057983 17.5222334,17.8993127 17.71,17.71 C17.8993127,17.5222334 18.0057983,17.2666375 18.0057983,17 C18.0057983,16.7333625 17.8993127,16.4777666 17.71,16.29 Z M2,8 C2,4.6862915 4.6862915,2 8,2 C11.3137085,2 14,4.6862915 14,8 C14,11.3137085 11.3137085,14 8,14 C4.6862915,14 2,11.3137085 2,8 Z"></path>
|
||||
</svg><input id="mysearch-input" type="search" placeholder="搜索" autocomplete="off"><div class="mysearch-clear"></div></div><button id="mysearch-close" type="button">搜索</button></div><div class="mysearch-result"><div id="mysearch-menu"></div><div id="mysearch-content"></div></div></div></div></body>
|
||||
</html>
|
||||
|
Reference in New Issue
Block a user