Files
reference/docs/cs.html
2023-01-10 13:13:06 +00:00

317 lines
47 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!doctype html>
<html lang="en" data-color-mode="dark">
<head>
<meta charset="utf-8">
<title>C# 备忘清单
&#x26; cs cheatsheet &#x26; Quick Reference</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta description="提供基本语法和方法的 C# 快速参考备忘单
入门,为开发人员分享快速参考备忘单。">
<meta keywords="cs,reference,Quick,Reference,cheatsheet,cheat,sheet">
<link rel="icon" href="data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20height%3D%221em%22%20width%3D%221em%22%3E%20%3Cpath%20d%3D%22m21.66%2010.44-.98%204.18c-.84%203.61-2.5%205.07-5.62%204.77-.5-.04-1.04-.13-1.62-.27l-1.68-.4c-4.17-.99-5.46-3.05-4.48-7.23l.98-4.19c.2-.85.44-1.59.74-2.2%201.17-2.42%203.16-3.07%206.5-2.28l1.67.39c4.19.98%205.47%203.05%204.49%207.23Z%22%20fill%3D%22%23c9d1d9%22%2F%3E%20%3Cpath%20d%3D%22M15.06%2019.39c-.62.42-1.4.77-2.35%201.08l-1.58.52c-3.97%201.28-6.06.21-7.35-3.76L2.5%2013.28c-1.28-3.97-.22-6.07%203.75-7.35l1.58-.52c.41-.13.8-.24%201.17-.31-.3.61-.54%201.35-.74%202.2l-.98%204.19c-.98%204.18.31%206.24%204.48%207.23l1.68.4c.58.14%201.12.23%201.62.27Zm2.43-8.88c-.06%200-.12-.01-.19-.02l-4.85-1.23a.75.75%200%200%201%20.37-1.45l4.85%201.23a.748.748%200%200%201-.18%201.47Z%22%20fill%3D%22%23228e6c%22%20%2F%3E%20%3Cpath%20d%3D%22M14.56%2013.89c-.06%200-.12-.01-.19-.02l-2.91-.74a.75.75%200%200%201%20.37-1.45l2.91.74c.4.1.64.51.54.91-.08.34-.38.56-.72.56Z%22%20fill%3D%22%23228e6c%22%20%2F%3E%20%3C%2Fsvg%3E" type="image/svg+xml">
<link rel="stylesheet" href="../style/style.css">
<link rel="stylesheet" href="../style/katex.css">
</head>
<body><nav class="header-nav"><div class="max-container"><a href="../index.html" class="logo"><svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" height="1em" width="1em">
<path d="m21.66 10.44-.98 4.18c-.84 3.61-2.5 5.07-5.62 4.77-.5-.04-1.04-.13-1.62-.27l-1.68-.4c-4.17-.99-5.46-3.05-4.48-7.23l.98-4.19c.2-.85.44-1.59.74-2.2 1.17-2.42 3.16-3.07 6.5-2.28l1.67.39c4.19.98 5.47 3.05 4.49 7.23Z" fill="#c9d1d9"></path>
<path d="M15.06 19.39c-.62.42-1.4.77-2.35 1.08l-1.58.52c-3.97 1.28-6.06.21-7.35-3.76L2.5 13.28c-1.28-3.97-.22-6.07 3.75-7.35l1.58-.52c.41-.13.8-.24 1.17-.31-.3.61-.54 1.35-.74 2.2l-.98 4.19c-.98 4.18.31 6.24 4.48 7.23l1.68.4c.58.14 1.12.23 1.62.27Zm2.43-8.88c-.06 0-.12-.01-.19-.02l-4.85-1.23a.75.75 0 0 1 .37-1.45l4.85 1.23a.748.748 0 0 1-.18 1.47Z" fill="#228e6c"></path>
<path d="M14.56 13.89c-.06 0-.12-.01-.19-.02l-2.91-.74a.75.75 0 0 1 .37-1.45l2.91.74c.4.1.64.51.54.91-.08.34-.38.56-.72.56Z" fill="#228e6c"></path>
</svg>
<span class="title">Quick Reference</span></a><div class="menu"><a href="javascript:void(0);" class="searchbtn" id="searchbtn"><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><span>搜索</span><span>⌘K</span></a><a href="https://github.com/jaywcjlove/reference/blob/main/docs/cs.md" class="" target="__blank"><svg viewBox="0 0 36 36" fill="currentColor" height="1em" width="1em"><path d="m33 6.4-3.7-3.7a1.71 1.71 0 0 0-2.36 0L23.65 6H6a2 2 0 0 0-2 2v22a2 2 0 0 0 2 2h22a2 2 0 0 0 2-2V11.76l3-3a1.67 1.67 0 0 0 0-2.36ZM18.83 20.13l-4.19.93 1-4.15 9.55-9.57 3.23 3.23ZM29.5 9.43 26.27 6.2l1.85-1.85 3.23 3.23Z"></path><path fill="none" d="M0 0h36v36H0z"></path></svg><span>编辑</span></a><button id="darkMode" type="button"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" class="light" height="1em" width="1em">
<path d="M6.995 12c0 2.761 2.246 5.007 5.007 5.007s5.007-2.246 5.007-5.007-2.246-5.007-5.007-5.007S6.995 9.239 6.995 12zM11 19h2v3h-2zm0-17h2v3h-2zm-9 9h3v2H2zm17 0h3v2h-3zM5.637 19.778l-1.414-1.414 2.121-2.121 1.414 1.414zM16.242 6.344l2.122-2.122 1.414 1.414-2.122 2.122zM6.344 7.759 4.223 5.637l1.415-1.414 2.12 2.122zm13.434 10.605-1.414 1.414-2.122-2.122 1.414-1.414z"></path>
</svg>
<svg xmlns="http://www.w3.org/2000/svg" fill="currentColor" viewBox="0 0 24 24" class="dark" height="1em" width="1em">
<path d="M12 11.807A9.002 9.002 0 0 1 10.049 2a9.942 9.942 0 0 0-5.12 2.735c-3.905 3.905-3.905 10.237 0 14.142 3.906 3.906 10.237 3.905 14.143 0a9.946 9.946 0 0 0 2.735-5.119A9.003 9.003 0 0 1 12 11.807z"></path>
</svg>
</button><script src="../js/dark.js"></script><a href="https://github.com/jaywcjlove/reference" class="" target="__blank"><svg viewBox="0 0 16 16" fill="currentColor" height="1em" width="1em"><path d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.012 8.012 0 0 0 16 8c0-4.42-3.58-8-8-8z"></path></svg></a></div></div></nav><div class="wrap h1body-exist max-container"><header class="wrap-header h1wrap"><h1 id="c-备忘清单"><svg xmlns="http://www.w3.org/2000/svg" fill="currentColor" width="1em" height="1em" viewBox="0 0 200 218">
<path d="M100,0.44 L100,0.455333333 L199.666667,58.5993333 L199.666667,159.400667 L100,217.56 L0.333333333,159.400667 L0.333333333,58.5993333 L100,0.44 Z M82.0833333,55.333 C53.8740706,55.3333333 31,78.2074039 31,106.424 L31,111.576 C31.0041913,129.277326 40.1707165,145.7152 55.2277239,155.022373 C70.2847313,164.329546 89.0864906,165.17968 104.922,157.269333 L111.101333,154.202667 L104.232,140.479333 L98.068,143.546 C86.9899096,149.088667 73.8317911,148.500121 63.2927817,141.99055 C52.7537723,135.480978 46.336719,123.978635 46.3333333,111.591333 L46.3333333,106.439333 C46.3346881,94.0500894 52.7491422,82.5443897 63.2870103,76.0292762 C73.8248785,69.5141628 86.9843283,68.9181542 98.068,74.454 L104.232,77.536 L111.101333,63.828 L104.922,60.746 C98.0448161,57.3003013 90.4812112,55.4533442 82.7961467,55.3389754 L82.0833333,55.333 Z M138.333333,70.6666667 L123,70.6666667 L123,86 L107.666667,86 L107.666667,101.333333 L123,101.333333 L123,116.666667 L107.666667,116.666667 L107.666667,132 L123,132 L123,147.333333 L138.333333,147.333333 L138.333333,132 L153.666667,132 L153.666667,147.333333 L169,147.333333 L169,132 L184.333333,132 L184.333333,116.666667 L169,116.666667 L169,101.333333 L184.333333,101.333333 L184.333333,86 L169,86 L169,70.6666667 L153.666667,70.6666667 L153.666667,86 L138.333333,86 L138.333333,70.6666667 Z M153.666667,101.333333 L153.666667,116.666667 L138.333333,116.666667 L138.333333,101.333333 L153.666667,101.333333 Z"></path></svg><a aria-hidden="true" tabindex="-1" href="#c-备忘清单"><span class="icon icon-link"></span></a>C# 备忘清单</h1><div class="wrap-body">
<p>提供基本语法和方法的 C# 快速参考备忘单</p>
</div></header><div class="menu-tocs"><div class="menu-btn"><svg aria-hidden="true" fill="currentColor" height="1em" width="1em" viewBox="0 0 16 16" version="1.1" data-view-component="true">
<path fill-rule="evenodd" d="M2 4a1 1 0 100-2 1 1 0 000 2zm3.75-1.5a.75.75 0 000 1.5h8.5a.75.75 0 000-1.5h-8.5zm0 5a.75.75 0 000 1.5h8.5a.75.75 0 000-1.5h-8.5zm0 5a.75.75 0 000 1.5h8.5a.75.75 0 000-1.5h-8.5zM3 8a1 1 0 11-2 0 1 1 0 012 0zm-1 6a1 1 0 100-2 1 1 0 000 2z"></path>
</svg></div><div class="menu-modal"><a aria-hidden="true" class="leve2 tocs-link" data-num="2" href="#入门">入门</a><a aria-hidden="true" class="leve3 tocs-link" data-num="3" href="#hellocs">Hello.cs</a><a aria-hidden="true" class="leve3 tocs-link" data-num="3" href="#变量">变量</a><a aria-hidden="true" class="leve3 tocs-link" data-num="3" href="#原始数据类型">原始数据类型</a><a aria-hidden="true" class="leve3 tocs-link" data-num="3" href="#注释">注释</a><a aria-hidden="true" class="leve3 tocs-link" data-num="3" href="#字符串">字符串</a><a aria-hidden="true" class="leve3 tocs-link" data-num="3" href="#用户输入">用户输入</a><a aria-hidden="true" class="leve3 tocs-link" data-num="3" href="#条件判断">条件判断</a><a aria-hidden="true" class="leve3 tocs-link" data-num="3" href="#数组">数组</a><a aria-hidden="true" class="leve3 tocs-link" data-num="3" href="#循环">循环</a><a aria-hidden="true" class="leve2 tocs-link" data-num="2" href="#c-字符串">C# 字符串</a><a aria-hidden="true" class="leve3 tocs-link" data-num="3" href="#字符串连接">字符串连接</a><a aria-hidden="true" class="leve3 tocs-link" data-num="3" href="#字符串插值">字符串插值</a><a aria-hidden="true" class="leve3 tocs-link" data-num="3" href="#字符串成员">字符串成员</a><a aria-hidden="true" class="leve3 tocs-link" data-num="3" href="#逐字字符串">逐字字符串</a><a aria-hidden="true" class="leve3 tocs-link" data-num="3" href="#成员示例">成员示例</a><a aria-hidden="true" class="leve3 tocs-link" data-num="3" href="#频繁字符串拼接">频繁字符串拼接</a><a aria-hidden="true" class="leve3 tocs-link" data-num="3" href="#原始字符串文本">原始字符串文本</a><a aria-hidden="true" class="leve3 tocs-link" data-num="3" href="#字符串操作">字符串操作</a><a aria-hidden="true" class="leve2 tocs-link" data-num="2" href="#杂项">杂项</a><a aria-hidden="true" class="leve3 tocs-link" data-num="3" href="#常用-net-概念">常用 .NET 概念</a></div></div><div class="h1wrap-body"><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">
</div></div><div class="h2wrap-body"><div class="wrap h3body-not-exist"><div class="wrap-header h3wrap"><h3 id="hellocs"><a aria-hidden="true" tabindex="-1" href="#hellocs"><span class="icon icon-link"></span></a>Hello.cs</h3><div class="wrap-body">
<pre class="language-cs"><code class="language-cs code-highlight"><span class="code-line"><span class="token keyword">class</span> <span class="token class-name">Hello</span> <span class="token punctuation">{</span>
</span><span class="code-line"> <span class="token comment">// main method</span>
</span><span class="code-line"> <span class="token keyword">static</span> <span class="token return-type class-name"><span class="token keyword">void</span></span> <span class="token function">Main</span><span class="token punctuation">(</span><span class="token class-name"><span class="token keyword">string</span><span class="token punctuation">[</span><span class="token punctuation">]</span></span> args<span class="token punctuation">)</span>
</span><span class="code-line"> <span class="token punctuation">{</span>
</span><span class="code-line"> <span class="token comment">// 输出: Hello, world!</span>
</span><span class="code-line"> Console<span class="token punctuation">.</span><span class="token function">WriteLine</span><span class="token punctuation">(</span><span class="token string">"Hello, world!"</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</span><span class="code-line"> <span class="token punctuation">}</span>
</span><span class="code-line"><span class="token punctuation">}</span>
</span></code></pre>
<p>编译运行(确保在项目目录下)</p>
<pre class="language-shell"><code class="language-shell code-highlight"><span class="code-line">$ dotnet run
</span><span class="code-line">Hello, world<span class="token operator">!</span>
</span></code></pre>
</div></div></div><div class="wrap h3body-not-exist"><div class="wrap-header h3wrap"><h3 id="变量"><a aria-hidden="true" tabindex="-1" href="#变量"><span class="icon icon-link"></span></a>变量</h3><div class="wrap-body">
<pre class="language-cs"><code class="language-cs code-highlight"><span class="code-line"><span class="token class-name"><span class="token keyword">int</span></span> intNum <span class="token operator">=</span> <span class="token number">9</span><span class="token punctuation">;</span>
</span><span class="code-line"><span class="token class-name"><span class="token keyword">long</span></span> longNum <span class="token operator">=</span> <span class="token number">9999999</span><span class="token punctuation">;</span>
</span><span class="code-line"><span class="token class-name"><span class="token keyword">float</span></span> floatNum <span class="token operator">=</span> <span class="token number">9.99F</span><span class="token punctuation">;</span>
</span><span class="code-line"><span class="token class-name"><span class="token keyword">double</span></span> doubleNum <span class="token operator">=</span> <span class="token number">99.999</span><span class="token punctuation">;</span>
</span><span class="code-line"><span class="token class-name"><span class="token keyword">decimal</span></span> decimalNum <span class="token operator">=</span> <span class="token number">99.9999M</span><span class="token punctuation">;</span>
</span><span class="code-line"><span class="token class-name"><span class="token keyword">char</span></span> letter <span class="token operator">=</span> <span class="token char">'D'</span><span class="token punctuation">;</span>
</span><span class="code-line"><span class="token class-name"><span class="token keyword">bool</span></span> @<span class="token keyword">bool</span> <span class="token operator">=</span> <span class="token boolean">true</span><span class="token punctuation">;</span>
</span><span class="code-line"><span class="token class-name"><span class="token keyword">string</span></span> site <span class="token operator">=</span> <span class="token string">"jaywcjlove.github.io"</span><span class="token punctuation">;</span>
</span><span class="code-line"><span class="token class-name"><span class="token keyword">var</span></span> num <span class="token operator">=</span> <span class="token number">999</span><span class="token punctuation">;</span>
</span><span class="code-line"><span class="token class-name"><span class="token keyword">var</span></span> str <span class="token operator">=</span> <span class="token string">"999"</span><span class="token punctuation">;</span>
</span><span class="code-line"><span class="token class-name"><span class="token keyword">var</span></span> bo <span class="token operator">=</span> <span class="token boolean">false</span><span class="token punctuation">;</span>
</span></code></pre>
</div></div></div><div class="wrap h3body-not-exist"><div class="wrap-header h3wrap"><h3 id="原始数据类型"><a aria-hidden="true" tabindex="-1" href="#原始数据类型"><span class="icon icon-link"></span></a>原始数据类型</h3><div class="wrap-body">
<table class="show-header"><thead><tr><th align="left">数据类型</th><th>尺寸</th><th>范围</th></tr></thead><tbody><tr><td align="left"><code>int</code></td><td>4 bytes</td><td>-2^31^ ^to^ 2^31^-1</td></tr><tr><td align="left"><code>long</code></td><td>8 bytes</td><td>-2^63^ ^to^ 2^63^-1</td></tr><tr><td align="left"><code>float</code></td><td>4 bytes</td><td>6 ^to^ 7 decimal digits</td></tr><tr><td align="left"><code>double</code></td><td>8 bytes</td><td>15 decimal digits</td></tr><tr><td align="left"><code>decimal</code></td><td>16 bytes</td><td>28 ^to^ 29 decimal digits</td></tr><tr><td align="left"><code>char</code></td><td>2 bytes</td><td>0 ^to^ 65535</td></tr><tr><td align="left"><code>bool</code></td><td>1 bit</td><td>true / false</td></tr><tr><td align="left"><code>string</code></td><td>2 bytes per char</td><td><em>N/A</em></td></tr></tbody></table>
<!--rehype:className=show-header-->
</div></div></div><div class="wrap h3body-not-exist"><div class="wrap-header h3wrap"><h3 id="注释"><a aria-hidden="true" tabindex="-1" href="#注释"><span class="icon icon-link"></span></a>注释</h3><div class="wrap-body">
<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 comment">/* 多行
</span></span><span class="code-line"><span class="token comment"> 注释 */</span>
</span><span class="code-line"><span class="token comment">// TODO向 Visual Studio 中的任务列表添加注释</span>
</span><span class="code-line"><span class="token doc-comment comment">/// 用于文档的单行注释</span>
</span><span class="code-line"><span class="token comment">/** 多行 注释
</span></span><span class="code-line"><span class="token comment"> 用于文档 **/</span>
</span></code></pre>
</div></div></div><div class="wrap h3body-not-exist"><div class="wrap-header h3wrap"><h3 id="字符串"><a aria-hidden="true" tabindex="-1" href="#字符串"><span class="icon icon-link"></span></a>字符串</h3><div class="wrap-body">
<pre class="language-cs"><code class="language-cs code-highlight"><span class="code-line"><span class="token class-name"><span class="token keyword">string</span></span> first <span class="token operator">=</span> <span class="token string">"John"</span><span class="token punctuation">;</span>
</span><span class="code-line"><span class="token class-name"><span class="token keyword">string</span></span> last <span class="token operator">=</span> <span class="token string">"Doe"</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"><span class="token keyword">string</span></span> name <span class="token operator">=</span> first <span class="token operator">+</span> <span class="token string">" "</span> <span class="token operator">+</span> last<span class="token punctuation">;</span>
</span><span class="code-line">Console<span class="token punctuation">.</span><span class="token function">WriteLine</span><span class="token punctuation">(</span>name<span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// => John Doe</span>
</span></code></pre>
<p>查看: <a href="#c-%E5%AD%97%E7%AC%A6%E4%B8%B2">C#字符串</a></p>
</div></div></div><div class="wrap h3body-not-exist"><div class="wrap-header h3wrap"><h3 id="用户输入"><a aria-hidden="true" tabindex="-1" href="#用户输入"><span class="icon icon-link"></span></a>用户输入</h3><div class="wrap-body">
<pre class="language-cs"><code class="language-cs code-highlight"><span class="code-line line-number" line="1">Console<span class="token punctuation">.</span><span class="token function">WriteLine</span><span class="token punctuation">(</span><span class="token string">"Enter number:"</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</span><span class="code-line line-number" line="2"><span class="token keyword">if</span><span class="token punctuation">(</span><span class="token keyword">int</span><span class="token punctuation">.</span><span class="token function">TryParse</span><span class="token punctuation">(</span>Console<span class="token punctuation">.</span><span class="token function">ReadLine</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">,</span><span class="token keyword">out</span> <span class="token class-name"><span class="token keyword">int</span></span> input<span class="token punctuation">)</span><span class="token punctuation">)</span>
</span><span class="code-line line-number" line="3"><span class="token punctuation">{</span>
</span><span class="code-line line-number" line="4"> <span class="token comment">// 输入验证</span>
</span><span class="code-line line-number" line="5"> Console<span class="token punctuation">.</span><span class="token function">WriteLine</span><span class="token punctuation">(</span><span class="token interpolation-string"><span class="token string">$"You entered </span><span class="token interpolation"><span class="token punctuation">{</span><span class="token expression language-csharp">input</span><span class="token punctuation">}</span></span><span class="token string">"</span></span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</span><span class="code-line line-number" line="6"><span class="token punctuation">}</span>
</span></code></pre>
</div></div></div><div class="wrap h3body-not-exist"><div class="wrap-header h3wrap"><h3 id="条件判断"><a aria-hidden="true" tabindex="-1" href="#条件判断"><span class="icon icon-link"></span></a>条件判断</h3><div class="wrap-body">
<pre class="language-cs"><code class="language-cs code-highlight"><span class="code-line"><span class="token class-name"><span class="token keyword">int</span></span> j <span class="token operator">=</span> <span class="token number">10</span><span class="token punctuation">;</span>
</span><span class="code-line"><span class="token keyword">if</span> <span class="token punctuation">(</span>j <span class="token operator">==</span> <span class="token number">10</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
</span><span class="code-line"> Console<span class="token punctuation">.</span><span class="token function">WriteLine</span><span class="token punctuation">(</span><span class="token string">"I get printed"</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</span><span class="code-line"><span class="token punctuation">}</span> <span class="token keyword">else</span> <span class="token keyword">if</span> <span class="token punctuation">(</span>j <span class="token operator">></span> <span class="token number">10</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
</span><span class="code-line"> Console<span class="token punctuation">.</span><span class="token function">WriteLine</span><span class="token punctuation">(</span><span class="token string">"I don't"</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</span><span class="code-line"><span class="token punctuation">}</span> <span class="token keyword">else</span> <span class="token punctuation">{</span>
</span><span class="code-line"> Console<span class="token punctuation">.</span><span class="token function">WriteLine</span><span class="token punctuation">(</span><span class="token string">"I also don't"</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</span><span class="code-line"><span class="token punctuation">}</span>
</span></code></pre>
</div></div></div><div class="wrap h3body-not-exist"><div class="wrap-header h3wrap"><h3 id="数组"><a aria-hidden="true" tabindex="-1" href="#数组"><span class="icon icon-link"></span></a>数组</h3><div class="wrap-body">
<pre class="language-cs"><code class="language-cs code-highlight"><span class="code-line"><span class="token class-name"><span class="token keyword">char</span><span class="token punctuation">[</span><span class="token punctuation">]</span></span> chars <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token constructor-invocation class-name"><span class="token keyword">char</span></span><span class="token punctuation">[</span><span class="token number">10</span><span class="token punctuation">]</span><span class="token punctuation">;</span>
</span><span class="code-line">chars<span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span> <span class="token operator">=</span> <span class="token char">'a'</span><span class="token punctuation">;</span>
</span><span class="code-line">chars<span class="token punctuation">[</span><span class="token number">1</span><span class="token punctuation">]</span> <span class="token operator">=</span> <span class="token char">'b'</span><span class="token punctuation">;</span>
</span><span class="code-line"><span class="token class-name"><span class="token keyword">string</span><span class="token punctuation">[</span><span class="token punctuation">]</span></span> letters <span class="token operator">=</span> <span class="token punctuation">{</span><span class="token string">"A"</span><span class="token punctuation">,</span> <span class="token string">"B"</span><span class="token punctuation">,</span> <span class="token string">"C"</span><span class="token punctuation">}</span><span class="token punctuation">;</span>
</span><span class="code-line"><span class="token class-name"><span class="token keyword">int</span><span class="token punctuation">[</span><span class="token punctuation">]</span></span> mylist <span class="token operator">=</span> <span class="token punctuation">{</span><span class="token number">100</span><span class="token punctuation">,</span> <span class="token number">200</span><span class="token punctuation">}</span><span class="token punctuation">;</span>
</span><span class="code-line"><span class="token class-name"><span class="token keyword">bool</span><span class="token punctuation">[</span><span class="token punctuation">]</span></span> answers <span class="token operator">=</span> <span class="token punctuation">{</span><span class="token boolean">true</span><span class="token punctuation">,</span> <span class="token boolean">false</span><span class="token punctuation">}</span><span class="token punctuation">;</span>
</span></code></pre>
</div></div></div><div class="wrap h3body-not-exist"><div class="wrap-header h3wrap"><h3 id="循环"><a aria-hidden="true" tabindex="-1" href="#循环"><span class="icon icon-link"></span></a>循环</h3><div class="wrap-body">
<pre class="language-cs"><code class="language-cs code-highlight"><span class="code-line"><span class="token class-name"><span class="token keyword">int</span><span class="token punctuation">[</span><span class="token punctuation">]</span></span> numbers <span class="token operator">=</span> <span class="token punctuation">{</span><span class="token number">1</span><span class="token punctuation">,</span> <span class="token number">2</span><span class="token punctuation">,</span> <span class="token number">3</span><span class="token punctuation">,</span> <span class="token number">4</span><span class="token punctuation">,</span> <span class="token number">5</span><span class="token punctuation">}</span><span class="token punctuation">;</span>
</span><span class="code-line"><span class="token keyword">for</span><span class="token punctuation">(</span><span class="token class-name"><span class="token keyword">int</span></span> i <span class="token operator">=</span> <span class="token number">0</span><span class="token punctuation">;</span> i <span class="token operator">&#x3C;</span> numbers<span class="token punctuation">.</span>Length<span class="token punctuation">;</span> i<span class="token operator">++</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
</span><span class="code-line"> Console<span class="token punctuation">.</span><span class="token function">WriteLine</span><span class="token punctuation">(</span>numbers<span class="token punctuation">[</span>i<span class="token punctuation">]</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</span><span class="code-line"><span class="token punctuation">}</span>
</span></code></pre>
<hr>
<pre class="language-cs"><code class="language-cs code-highlight"><span class="code-line"><span class="token keyword">foreach</span><span class="token punctuation">(</span><span class="token class-name"><span class="token keyword">int</span></span> num <span class="token keyword">in</span> numbers<span class="token punctuation">)</span> <span class="token punctuation">{</span>
</span><span class="code-line"> Console<span class="token punctuation">.</span><span class="token function">WriteLine</span><span class="token punctuation">(</span>num<span class="token punctuation">)</span><span class="token punctuation">;</span>
</span><span class="code-line"><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="c-字符串"><a aria-hidden="true" tabindex="-1" href="#c-字符串"><span class="icon icon-link"></span></a>C# 字符串</h2><div class="wrap-body">
</div></div><div class="h2wrap-body"><div class="wrap h3body-not-exist"><div class="wrap-header h3wrap"><h3 id="字符串连接"><a aria-hidden="true" tabindex="-1" href="#字符串连接"><span class="icon icon-link"></span></a>字符串连接</h3><div class="wrap-body">
<pre class="language-cs"><code class="language-cs code-highlight"><span class="code-line"><span class="token class-name"><span class="token keyword">string</span></span> first <span class="token operator">=</span> <span class="token string">"John"</span><span class="token punctuation">;</span>
</span><span class="code-line"><span class="token class-name"><span class="token keyword">string</span></span> last <span class="token operator">=</span> <span class="token string">"Doe"</span><span class="token punctuation">;</span>
</span><span class="code-line"><span class="token class-name"><span class="token keyword">string</span></span> name <span class="token operator">=</span> first <span class="token operator">+</span> <span class="token string">" "</span> <span class="token operator">+</span> last<span class="token punctuation">;</span>
</span><span class="code-line">Console<span class="token punctuation">.</span><span class="token function">WriteLine</span><span class="token punctuation">(</span>name<span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// => John Doe</span>
</span></code></pre>
</div></div></div><div class="wrap h3body-not-exist"><div class="wrap-header h3wrap"><h3 id="字符串插值"><a aria-hidden="true" tabindex="-1" href="#字符串插值"><span class="icon icon-link"></span></a>字符串插值</h3><div class="wrap-body">
<pre class="language-cs"><code class="language-cs code-highlight"><span class="code-line"><span class="token class-name"><span class="token keyword">string</span></span> first <span class="token operator">=</span> <span class="token string">"John"</span><span class="token punctuation">;</span>
</span><span class="code-line"><span class="token class-name"><span class="token keyword">string</span></span> last <span class="token operator">=</span> <span class="token string">"Doe"</span><span class="token punctuation">;</span>
</span><span class="code-line"><span class="token class-name"><span class="token keyword">string</span></span> name <span class="token operator">=</span> <span class="token interpolation-string"><span class="token string">$"</span><span class="token interpolation"><span class="token punctuation">{</span><span class="token expression language-csharp">first</span><span class="token punctuation">}</span></span><span class="token string"> </span><span class="token interpolation"><span class="token punctuation">{</span><span class="token expression language-csharp">last</span><span class="token punctuation">}</span></span><span class="token string">"</span></span><span class="token punctuation">;</span>
</span><span class="code-line">Console<span class="token punctuation">.</span><span class="token function">WriteLine</span><span class="token punctuation">(</span>name<span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// => John Doe</span>
</span></code></pre>
</div></div></div><div class="wrap h3body-not-exist row-span-2"><div class="wrap-header h3wrap"><h3 id="字符串成员"><a aria-hidden="true" tabindex="-1" href="#字符串成员"><span class="icon icon-link"></span></a>字符串成员</h3><div class="wrap-body">
<!--rehype:wrap-class=row-span-2-->
<table class="show-header"><thead><tr><th align="left">成员</th><th>说明</th></tr></thead><tbody><tr><td align="left"><code>Length</code></td><td>返回字符串长度的属性</td></tr><tr><td align="left"><code>Compare()</code></td><td>比较两个字符串的静态方法</td></tr><tr><td align="left"><code>Contains()</code></td><td>确定字符串是否包含特定的子字符串</td></tr><tr><td align="left"><code>Equals()</code></td><td>确定两个字符串是否具有相同的字符数据</td></tr><tr><td align="left"><code>Format()</code></td><td>通过 {0} 表示法和使用其他原语格式化字符串</td></tr><tr><td align="left"><code>Trim()</code></td><td>从尾随和前导字符中删除特定字符的所有实例。 默认删除前导和尾随空格</td></tr><tr><td align="left"><code>Split()</code></td><td>删除提供的字符并从两侧的剩余字符中创建一个数组</td></tr></tbody></table>
<!--rehype:className=show-header-->
</div></div></div><div class="wrap h3body-not-exist"><div class="wrap-header h3wrap"><h3 id="逐字字符串"><a aria-hidden="true" tabindex="-1" href="#逐字字符串"><span class="icon icon-link"></span></a>逐字字符串</h3><div class="wrap-body">
<pre class="wrap-text"><code class="language-cs code-highlight"><span class="code-line line-number" line="1"><span class="token class-name"><span class="token keyword">string</span></span> longString <span class="token operator">=</span> <span class="token string">@"I can type any characters in here !#@$%^&#x26;*()__+ '' \n \t except double quotes and I will be taken literally. I even work with multiple lines."</span><span class="token punctuation">;</span>
</span></code></pre>
<!--rehype:className=wrap-text-->
</div></div></div><div class="wrap h3body-not-exist"><div class="wrap-header h3wrap"><h3 id="成员示例"><a aria-hidden="true" tabindex="-1" href="#成员示例"><span class="icon icon-link"></span></a>成员示例</h3><div class="wrap-body">
<pre class="language-cs"><code class="language-cs code-highlight"><span class="code-line"><span class="token comment">// 使用 System.String 的属性</span>
</span><span class="code-line"><span class="token class-name"><span class="token keyword">string</span></span> lengthOfString <span class="token operator">=</span> <span class="token string">"How long?"</span><span class="token punctuation">;</span>
</span><span class="code-line">lengthOfString<span class="token punctuation">.</span>Length <span class="token comment">// => 9</span>
</span><span class="code-line"><span class="token comment">// 使用 System.String 的方法</span>
</span><span class="code-line">lengthOfString<span class="token punctuation">.</span><span class="token function">Contains</span><span class="token punctuation">(</span><span class="token string">"How"</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// => true</span>
</span></code></pre>
</div></div></div><div class="wrap h3body-not-exist"><div class="wrap-header h3wrap"><h3 id="频繁字符串拼接"><a aria-hidden="true" tabindex="-1" href="#频繁字符串拼接"><span class="icon icon-link"></span></a>频繁字符串拼接</h3><div class="wrap-body">
<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> sb <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token constructor-invocation class-name">StringBuilder</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</span><span class="code-line"><span class="token keyword">for</span> <span class="token punctuation">(</span><span class="token class-name"><span class="token keyword">int</span></span> i <span class="token operator">=</span> <span class="token number">0</span><span class="token punctuation">;</span> i <span class="token operator">&#x3C;</span> <span class="token number">100</span><span class="token punctuation">;</span> i<span class="token operator">++</span><span class="token punctuation">)</span>
</span><span class="code-line"><span class="token punctuation">{</span>
</span><span class="code-line"> sb<span class="token punctuation">.</span><span class="token function">Append</span><span class="token punctuation">(</span>i<span class="token punctuation">.</span><span class="token function">ToString</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</span><span class="code-line"><span class="token punctuation">}</span>
</span><span class="code-line">Console<span class="token punctuation">.</span><span class="token function">WriteLine</span><span class="token punctuation">(</span>sb<span class="token punctuation">.</span><span class="token function">ToString</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</span><span class="code-line"><span class="token comment">// => 123456789....</span>
</span></code></pre>
<p>对于频繁拼接字符串的场景(如:成百上千次循环),使用 <code>System.Text.StringBuilder</code> 提升性能</p>
</div></div></div><div class="wrap h3body-not-exist col-span-2"><div class="wrap-header h3wrap"><h3 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-2-->
<pre class="language-cs"><code class="language-cs code-highlight"><span class="code-line"><span class="token comment">// C#11 语法, 至少3个双引号(""")开头和结尾,内容可以输入任何原始字符</span>
</span><span class="code-line"><span class="token comment">// 单行: 左引号,右引号,内容 三者同行</span>
</span><span class="code-line"><span class="token class-name"><span class="token keyword">string</span></span> singleLine <span class="token operator">=</span> <span class="token string">""</span>"Content begin <span class="token string">"Hello World!"</span> end<span class="token punctuation">.</span><span class="token string">""</span>"<span class="token punctuation">;</span>
</span><span class="code-line">
</span><span class="code-line"><span class="token comment">// 多行:左引号,右引号各一行,内容需与右引号缩进对齐</span>
</span><span class="code-line"><span class="token class-name"><span class="token keyword">string</span></span> multiLine <span class="token operator">=</span> <span class="token string">""</span>"
</span><span class="code-line"> Content begin <span class="token string">"Hello World!"</span> <span class="token operator">/</span>\n<span class="token operator">&#x3C;</span><span class="token operator">></span><span class="token string">""</span> end<span class="token punctuation">.</span>
</span><span class="code-line"> <span class="token string">""</span>"<span class="token punctuation">;</span>
</span><span class="code-line">Console<span class="token punctuation">.</span><span class="token function">WriteLine</span><span class="token punctuation">(</span>multiLine<span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// => Content begin "Hello World!" /\n&#x3C;>"" end.</span>
</span></code></pre>
</div></div></div><div class="wrap h3body-not-exist"><div class="wrap-header h3wrap"><h3 id="字符串操作"><a aria-hidden="true" tabindex="-1" href="#字符串操作"><span class="icon icon-link"></span></a>字符串操作</h3><div class="wrap-body">
<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"><span class="token keyword">string</span></span> Name <span class="token operator">=</span> <span class="token string">"字A符A串A分A割"</span><span class="token punctuation">;</span>
</span><span class="code-line"><span class="token class-name"><span class="token keyword">string</span><span class="token punctuation">[</span><span class="token punctuation">]</span></span> Names<span class="token operator">=</span>Name<span class="token punctuation">.</span><span class="token function">Split</span><span class="token punctuation">(</span><span class="token keyword">new</span> <span class="token constructor-invocation class-name"><span class="token keyword">char</span><span class="token punctuation">[</span><span class="token punctuation">]</span></span> <span class="token punctuation">{</span> <span class="token char">'A'</span> <span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</span><span class="code-line"><span class="token comment">//会以A为媒介把字符串分成若干份</span>
</span><span class="code-line"><span class="token keyword">for</span> <span class="token punctuation">(</span><span class="token class-name"><span class="token keyword">int</span></span> i <span class="token operator">=</span> <span class="token number">0</span><span class="token punctuation">;</span> i <span class="token operator">&#x3C;</span> Names<span class="token punctuation">.</span>Length<span class="token punctuation">;</span> i<span class="token operator">++</span><span class="token punctuation">)</span>
</span><span class="code-line"><span class="token punctuation">{</span>
</span><span class="code-line"> Console<span class="token punctuation">.</span><span class="token function">Write</span><span class="token punctuation">(</span>Names<span class="token punctuation">[</span>i<span class="token punctuation">]</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</span><span class="code-line"><span class="token punctuation">}</span>
</span><span class="code-line"><span class="token comment">//-----------------------------------</span>
</span><span class="code-line"><span class="token comment">//字符串截取</span>
</span><span class="code-line"><span class="token class-name"><span class="token keyword">string</span></span> Str <span class="token operator">=</span> <span class="token string">"字符串截取"</span><span class="token punctuation">;</span>
</span><span class="code-line">Str <span class="token operator">=</span> Str<span class="token punctuation">.</span><span class="token function">Substring</span><span class="token punctuation">(</span><span class="token number">2</span><span class="token punctuation">,</span> <span class="token number">1</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</span><span class="code-line">Console<span class="token punctuation">.</span><span class="token function">WriteLine</span><span class="token punctuation">(</span>Str<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 comment">//-----------------------------------</span>
</span><span class="code-line"><span class="token comment">//字符串替换</span>
</span><span class="code-line"><span class="token class-name"><span class="token keyword">string</span></span> Rep <span class="token operator">=</span> <span class="token string">"字符1替换"</span><span class="token punctuation">;</span>
</span><span class="code-line">Rep <span class="token operator">=</span> Rep<span class="token punctuation">.</span><span class="token function">Replace</span><span class="token punctuation">(</span><span class="token string">"1"</span><span class="token punctuation">,</span> <span class="token string">"串"</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</span><span class="code-line">Console<span class="token punctuation">.</span><span class="token function">WriteLine</span><span class="token punctuation">(</span>Rep<span class="token punctuation">)</span><span class="token punctuation">;</span>
</span><span class="code-line"><span class="token comment">//会把字符中的 “1”替换成“串”</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">
</div></div><div class="h2wrap-body"><div class="wrap h3body-not-exist col-span-3"><div class="wrap-header h3wrap"><h3 id="常用-net-概念"><a aria-hidden="true" tabindex="-1" href="#常用-net-概念"><span class="icon icon-link"></span></a>常用 .NET 概念</h3><div class="wrap-body">
<!--rehype:wrap-class=col-span-3-->
<table class="show-header"><thead><tr><th align="left">概念</th><th>中文名</th><th>定义</th></tr></thead><tbody><tr><td align="left">Runtime</td><td>运行时</td><td>执行给定的已编译代码单元所需的服务集合</td></tr><tr><td align="left">Common Language Runtime (CLR)</td><td>通用语言运行库</td><td>主要定位、加载和托管 .NET 对象。<br>CLR 还处理内存管理、应用程序托管、线程协调、执行安全检查和其他低级细节</td></tr><tr><td align="left">Managed code</td><td>托管代码</td><td><code>.NET</code> 运行时编译和运行的代码。 C#/F#/VB 就是例子</td></tr><tr><td align="left">Unmanaged code</td><td>非托管代码</td><td>直接编译为机器代码且不能由 .NET 运行时直接托管的代码。<br>不包含空闲内存管理、垃圾收集等。从 C/C++ 创建的 DLL 就是示例</td></tr></tbody></table>
<!--rehype:className=show-header-->
</div></div></div></div></div></div></div><footer class="footer-wrap"><footer class="max-container">© 2022 Kenny Wang.</footer></footer><script src="../data.js" defer></script><script src="../js/fuse.min.js" defer></script><script src="../js/main.js" 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>