doc: update docs/cs.md e8af72372c

This commit is contained in:
jaywcjlove
2024-04-12 14:28:43 +00:00
parent 4b7c32aa88
commit fee58d9de9
4 changed files with 37 additions and 38 deletions

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -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">&#x3C;</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">&#x3C;</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">&#x3C;</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">&#x3C;</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">&#x3C;</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">&#x3C;</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">&#x3C;</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">&#x3C;</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">&#x3C;</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">&#x3C;</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&#x3C;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>

View File

@ -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>