<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
    <channel>
        <title>千纸鹤 </title>
        <link>http://blog.wilsonzy.cn/</link>
        <description>《千纸鹤》是一个关于个人成长、心灵探索和生活哲学的博客。通过结合纸鹤的象征意义，博客传递着希望、自由、勇气和梦想的理念，分享作者在人生旅途中所遇到的挑战与感悟。每一篇文章都如同一只飞翔的纸鹤，轻盈地载着思想与情感，带领读者在迷茫与困顿中找到属于自己的方向。</description>
        <lastBuildDate>Sat, 14 Nov 2026 01:03:01 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>Feed for VanBlog</generator>
        <language>	zh-cn</language>
        <image>
            <title>千纸鹤 </title>
            <url>http://blog.wilsonzy.cn/favicon.png</url>
            <link>http://blog.wilsonzy.cn/</link>
        </image>
        <copyright>All rights reserved 2026, 千纸鹤</copyright>
        <item>
            <title><![CDATA[投资自己，永远稳赚不赔]]></title>
            <link>http://blog.wilsonzy.cn/post/229</link>
            <guid>http://blog.wilsonzy.cn/post/229</guid>
            <pubDate>Fri, 02 Oct 2026 03:27:58 GMT</pubDate>
            <description><![CDATA[<blockquote>
<p>✨ 成长从来不需要宏大的计划，把小事坚持做下去，就是最好的逆袭。</p>
</blockquote>
]]></description>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <blockquote>
<p>✨ 成长从来不需要宏大的计划，把小事坚持做下去，就是最好的逆袭。</p>
</blockquote>
<!-- more -->
<img src="/static/img/d6f72f15c081c7429e99a98843ec9397.image.webp" alt="安静看书的桌面场景" width="600" style="max-width:100%;height:auto;display:block;margin:20px auto;">
<hr>
<p>有没有过这种时刻：</p>
<ul>
<li>想提升自己却完全无从下手，刷再多干货帖都感觉没学会什么？</li>
<li>其实变厉害的核心从来不是找捷径，而是把<strong>基础的habit落到实处</strong>：</li>
</ul>
<hr>
<h3>📚 大量阅读，搭建你的认知护城河</h3>
<p>疯狂看书，心理学、经济学、哲学、文学等领域的书籍都要有所涉猎，不用追求数量，<strong>养成每天翻几页的习惯就好</strong>。<br>
看得多了，你自然能培养出独立思考的能力，不会轻易被外界的声音带偏。</p>
<hr>
<h3>💄 注重形象，是最低成本的自我投资</h3>
<p>学会<strong>利用碎片化时间提升</strong>外在：看时尚达人教穿搭、学简单的护肤技巧，把自己打扮得干干净净、漂漂亮亮。<br>
<strong>干净的外表是性价比最高的社交名片</strong>，是你对自我价值的尊重，在这个时代，好的形象本身就是一种竞争力。</p>
<hr>
<h3>🎬 筛选信息，少走十年弯路</h3>
<p>少追无营养的综艺，多刷正经的职场剧、正儿八经的历史剧，<strong>看别人怎么解决问题</strong>、怎么应对人情世故，揣摩底层逻辑，把别人的经验变成自己的避坑指南。</p>
<hr>
<h3>🏃 坚持运动，守住你的革命本钱</h3>
<p>从现在开始<strong>养成锻炼的好习惯</strong>，健康真的太重要了。不用一开始就给自己定魔鬼计划，从每周3次、每次20分钟开始，坚持一个月之后，一旦达不到训练次数，你会有深深的负罪感，慢慢就会变成刻在骨子里的习惯。</p>
<hr>
<p>你花在读书、变美、沉淀、锻炼上的每一分钟，最终都会回馈到你身上。<br>
<strong>不需要和别人比进度，你只要比昨天的自己更好一点</strong>，就是在悄悄变厉害。</p>
<img src="/static/img/c4b7d9570e7080e07b409b3fd6b3a07f.image.webp" alt="晨跑向前的人" width="600" style="max-width:100%;height:auto;display:block;margin:20px auto;">
<p>✨ 你对自己狠的每一天，都是在为未来的自由买单。</p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/个人成长">个人成长</category>
        </item>
        <item>
            <title><![CDATA[崩溃后缝补自己，才是真的勇敢]]></title>
            <link>http://blog.wilsonzy.cn/post/228</link>
            <guid>http://blog.wilsonzy.cn/post/228</guid>
            <pubDate>Fri, 02 Oct 2026 02:57:27 GMT</pubDate>
            <description><![CDATA[<p>💔 成年人的顶级自愈力：</p>
<blockquote>
<p>就像书里说的那样：<br>
当你压力大到快要崩溃的时候，不要去和别人讲，也不要觉得自己很委屈，在夜深人静的时候，把心掏出来，自己缝缝补补，然后好好睡一觉，醒来之后又是信心百倍。</p>
</blockquote>
]]></description>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <p>💔 成年人的顶级自愈力：</p>
<blockquote>
<p>就像书里说的那样：<br>
当你压力大到快要崩溃的时候，不要去和别人讲，也不要觉得自己很委屈，在夜深人静的时候，把心掏出来，自己缝缝补补，然后好好睡一觉，醒来之后又是信心百倍。</p>
</blockquote>
<!-- more -->
<img src="/static/img/4693c9b055673acdba552e89cc6d50ca.image.webp" alt="深夜窗边独自安静的桌面" width="600" style="max-width:100%;height:auto;display:block;margin:20px auto;">
<hr>
<p>你有没有过这种时刻：</p>
<ul>
<li>压力大到喘不过气，想找个人倾诉，翻遍通讯录却不知道能打给谁？</li>
<li>其实<strong>成年人的委屈，本就不需要人人皆知</strong>。</li>
</ul>
<p><strong>无人问津也好，技不如人也罢</strong>，你都要试着安静下来，自己该干什么就干什么，而不是让烦躁和焦虑毁掉你本来就不多的热情和定力。</p>
<p><strong>心可碎，手不能停</strong>。该吃饭吃饭，该做事做事，<strong>在崩溃中继续前行，才是一个成年人该有的素养</strong>。</p>
<hr>
<p>那些你熬过的夜、吞过的委屈、独自扛过的压力，最终都会变成你铠甲的一部分。<br>
你不需要时刻完美，但你知道，<strong>哭完之后该走的路，一步都不能停</strong>。</p>
<img src="/static/img/a8cc9c8ff585574133cff5a78fe291d6.image.webp" alt="迎着晨光向前走的人" width="600" style="max-width:100%;height:auto;display:block;margin:20px auto;">
<p>✨ 靠自己的力量缝补好心情，你就能接住生活所有的馈赠。</p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/个人成长">个人成长</category>
        </item>
        <item>
            <title><![CDATA[最好的伯乐，永远是咬牙向上的自己]]></title>
            <link>http://blog.wilsonzy.cn/post/227</link>
            <guid>http://blog.wilsonzy.cn/post/227</guid>
            <pubDate>Fri, 02 Oct 2026 02:57:42 GMT</pubDate>
            <description><![CDATA[<blockquote>
<p>✨ 站在树上的鸟，从来不怕树枝断裂——因为它依赖的从来不是树枝，而是自己的翅膀。<br>
✨ <strong>靠自己，无论什么时候都最有底气，也最有魅力。</strong></p>
</blockquote>
<img src="/static/img/ea215288dc1937c11e66cab8b68633c9.image.webp" alt="展翅高飞的鸟" width="600" style="max-width:100%;height:auto;display:block;margin:20px auto;">
]]></description>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <blockquote>
<p>✨ 站在树上的鸟，从来不怕树枝断裂——因为它依赖的从来不是树枝，而是自己的翅膀。<br>
✨ <strong>靠自己，无论什么时候都最有底气，也最有魅力。</strong></p>
</blockquote>
<img src="/static/img/ea215288dc1937c11e66cab8b68633c9.image.webp" alt="展翅高飞的鸟" width="600" style="max-width:100%;height:auto;display:block;margin:20px auto;">
<!-- more -->
<p>你有没有总在等贵人、等机会、等天降好运气？</p>
<p>其实<strong>人生最稳的靠山，从来都是你自己</strong>。</p>
<p>这世上，<strong>没有什么可以阻挡一颗奋进的心</strong>。</p>
<p>不用羡慕别人的顺遂，也不用抱怨起点太低，脚踏实地走好每一步路，勤恳付出、真诚做人、认真做事，你熬的每一份苦、走的每一步路，都是在为未来攒底气。</p>
<p>只要你愿意拼，就一定能靠自己的力量，拥抱属于自己的美好人生。</p>
<hr>
<p>从今天起，把更多的时间拿来丰富自己。</p>
<p>那些你熬夜晚读翻过的书、风雨无阻走过的路、真诚相交见过的人、不计回报给出的善良，<strong>最终都会回馈到自己身上</strong>，变成你闯荡世界的底气，变成你最硬的底牌。</p>
<p>💡 你不需要等别人来肯定你的价值，<strong>你拼尽全力的样子，本身就是最好的答案</strong>。</p>
<img src="/static/img/1ccab56cbd0710c28f460ebe01592880.image.webp" alt="徒步向前的人" width="600" style="max-width:100%;height:auto;display:block;margin:20px auto;">
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/个人成长">个人成长</category>
        </item>
        <item>
            <title><![CDATA[从来没有一蹴而就的将军：你熬的每一段路，都算数]]></title>
            <link>http://blog.wilsonzy.cn/post/226</link>
            <guid>http://blog.wilsonzy.cn/post/226</guid>
            <pubDate>Fri, 02 Oct 2026 02:57:55 GMT</pubDate>
            <description><![CDATA[<blockquote>
<p>你有没有过这种时刻：<br>
刷到别人年入百万的成就焦虑到失眠，转头又觉得自己啥也做不成，只想<strong>躺平</strong>放弃？<br>
其实所有让人羡慕的“<strong>一鸣惊人</strong>”，背后都是熬了无数个日夜的“<strong>厚积薄发</strong>”。</p>
</blockquote>
]]></description>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <blockquote>
<p>你有没有过这种时刻：<br>
刷到别人年入百万的成就焦虑到失眠，转头又觉得自己啥也做不成，只想<strong>躺平</strong>放弃？<br>
其实所有让人羡慕的“<strong>一鸣惊人</strong>”，背后都是熬了无数个日夜的“<strong>厚积薄发</strong>”。</p>
</blockquote>
<!-- more -->
<img src="/static/img/1c9eb2259094d032ba58b08497ff6ad6.image.webp" alt="攀登者沿着石阶向上走" width="600" style="max-width:100%;height:auto;display:block;margin:20px auto;">
<p>从来就没有一蹴而就的将军。<br>
每个能指挥千军万马的人，都是从最基层的小兵开始，一步步靠实打实的战功熬到高位。</p>
<p>赚钱、做事其实也一样：没人能一开始就年入百万，都是从月赚3千，跳到月赚5千，再突破到月入过万；从年赚10万，再到年赚50万、100万——<strong>每一个台阶，都是一道必须跨的坎</strong>。</p>
<p>尤其在当下的环境里，更是如此：不断有人从高处掉落，但向上的路径永远存在。</p>
<p>别好高骛远盯着别人的终点，你每突破一道关卡，意味着你的资源、环境、人脉，还有你驾驭、整合资源的能力，都会发生彻底的剧变，所有<strong>看似突然的“逆袭”，都是你之前每一步积累的爆发</strong>。</p>
<hr>
<p>没挨过社会毒打的人，一开始总觉得自己是个人才，<strong>怀才不遇</strong>是天底下最大的委屈。<br>
但真正的牛人都懂：<strong>成事从来就不容易</strong>。</p>
<blockquote>
<p>所谓的“<strong>成熟</strong>”，本质上就是一层层往上爬的过程：早点看到这个真相，才不会在低水平的层次里无限循环，天天做着不切实际的白日梦。</p>
</blockquote>
<p>💡 <strong>别抱怨上天没给你机会，先问问自己，有没有熬到能接住机会的程度。</strong></p>
<img src="/static/img/0251ac62969be4327f8bf1c10549f11b.image.webp" alt="站在山顶俯瞰云海的登山者" width="600" style="max-width:100%;height:auto;display:block;margin:20px auto;">
<p>✨ 慢慢来，比较快。你走的每一步路，都算数。</p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/生活哲学">生活哲学</category>
        </item>
        <item>
            <title><![CDATA[你读过的每本书，都在悄悄标定你的身价]]></title>
            <link>http://blog.wilsonzy.cn/post/225</link>
            <guid>http://blog.wilsonzy.cn/post/225</guid>
            <pubDate>Fri, 02 Oct 2026 02:58:08 GMT</pubDate>
            <description><![CDATA[<p>📚 董宇辉曾用最通俗的「<strong>空瓶子</strong>」比喻，说透了读书的意义</p>
]]></description>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <p>📚 董宇辉曾用最通俗的「<strong>空瓶子</strong>」比喻，说透了读书的意义</p>
<!-- more -->
<img src="/static/img/326b3080112d382186eaa2a029c60d58.image.webp" alt="阳光下的空玻璃瓶" width="600" style="max-width:100%;height:auto;display:block;margin:20px auto;">
<p>当你不想读书的时候，就听一听空瓶子的故事：</p>
<blockquote>
<p>一个空瓶子只值1毛，装上水值1块，装上饮料值2块，装上牛奶值10块，装上酒水值100块。</p>
</blockquote>
<p>同理，我们的大脑也是如此：</p>
<p>你往里面装好书、<strong>装进有用的知识，它就会变得价值连城</strong>；但如果长期只往里面塞没营养的碎片内容、甚至只沉迷游戏，时间久了，它真的会「一文不值」。</p>
<blockquote>
<p><strong>一个空瓶子初看时毫不起眼，然而随着承载的内容不同，价值便会发生翻天覆地的变化</strong>。</p>
</blockquote>
<hr>
<p>这个最简单的比喻，其实说透了人和人之间最大的差距：从来不是出身，不是天赋，而是你往自己的大脑里「装」了什么。</p>
<hr>
<p><strong>读书，世界就在眼前；不读书，眼前就是世界。</strong></p>
<p>读书或许不是人生的唯一出路，但你<strong>不读书，一定会挡住很多本该属于你的出路</strong>。</p>
<p>你熬的夜、翻的书，终会变成你走路时的底气，帮你避开很多不必要的坑。</p>
<hr>
<p><strong>读书和赚钱，是人生最好的修行：前者让人不惑，后者让人有尊严。</strong></p>
<img src="/static/img/65a8f6f246e9e2bcae86eea1880ac7f2.image.webp" alt="暖光下的阅读场景" width="600" style="max-width:100%;height:auto;display:block;margin:20px auto;">
<p>✨ 愿我们都能往自己的「大脑瓶子」里，装进最有价值的内容，活成自己想要的样子。</p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/个人成长">个人成长</category>
        </item>
        <item>
            <title><![CDATA[改变心境，好好生活]]></title>
            <link>http://blog.wilsonzy.cn/post/224</link>
            <guid>http://blog.wilsonzy.cn/post/224</guid>
            <pubDate>Fri, 02 Oct 2026 02:58:22 GMT</pubDate>
            <description><![CDATA[<p>一起一落是人生，亦喜亦忧是心情，一朝一夕是日子，亦苦亦甜是生活。</p>
]]></description>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <p>一起一落是人生，亦喜亦忧是心情，一朝一夕是日子，亦苦亦甜是生活。</p>
<!-- more -->
<img src="/static/img/ae488bf6d519f8c13151a0ed9c25c434.image.webp" alt="日常慢生活的治愈瞬间" width="600" style="max-width:100%;height:auto;display:block;margin:20px auto;">
<p>都是小人物，好好活着就行了，<strong>生活的本意是平淡且知足</strong>。</p>
<p><strong>世间无事，烦恼来自逞强</strong>。若所求太多，心就无处安放。</p>
<blockquote>
<p>💡 别让过度的欲望，弄丢了最朴素的<strong>快乐</strong>。</p>
</blockquote>
<hr>
<p>生活各有各的难，谁也不必羡慕谁，</p>
<p>你有你的苦，他有他的烦，我有我的累。</p>
<p>每个人都有自己的路要走，<strong>别人的风光，未必是你的归途</strong>。</p>
<blockquote>
<p>不必仰望他人的生活，你脚下的路，自有它的意义。</p>
</blockquote>
<hr>
<p><strong>世间原本没有过于圆满的人生</strong>，与其瞎想，不如让心归零，过好当下，感恩拥有。</p>
<blockquote>
<p>人生没有最好的年龄，只有最好的心态。</p>
<p><strong>我们既争不过岁月，也跑不过时间，唯有认真对待每一个日出日落，用心感受每一次花开花落</strong>。</p>
</blockquote>
<img src="/static/img/4d86e94f42035a3bde01fa875ea67da0.image.webp" alt="治愈系的生活小景" width="600" style="max-width:100%;height:auto;display:block;margin:20px auto;">
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/心灵探索">心灵探索</category>
        </item>
        <item>
            <title><![CDATA[什么才是真正的贵人？]]></title>
            <link>http://blog.wilsonzy.cn/post/223</link>
            <guid>http://blog.wilsonzy.cn/post/223</guid>
            <pubDate>Thu, 01 Oct 2026 13:54:55 GMT</pubDate>
            <description><![CDATA[<p>并非直接帮你「<strong>开挂</strong>」的人，才配称得上是贵人。</p>
]]></description>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <p>并非直接帮你「<strong>开挂</strong>」的人，才配称得上是贵人。</p>
<!-- more -->
<blockquote>
<p>真正的贵人，从来不是让你不劳而获，而是<strong>推着你成长的人</strong>。</p>
</blockquote>
<h2><img src="/static/img/89bb3f171c77eff7ed69b7dc05905411.image.webp" alt="良师益友点拨成长"></h2>
<p>⚠️ <strong>警惕这类「伪贵人」</strong></p>
<blockquote>
<p>故意在人多的时候<strong>当众训斥你的人</strong>，只是为了做给别人看，你可别往心里去，这种人其实是小人。</p>
</blockquote>
<hr>
<h2>贵人的4种典型表现</h2>
<p>✅ 带你赚钱、邀你<strong>共同成长</strong>的人<br>
✅ 约你学习、<strong>督促你提升</strong>的人<br>
✅ 愿意和你谈人生、聊<strong>理想的知己</strong><br>
✅ 处处为你<strong>加油打气</strong>、真心盼你越来越好的人</p>
<p><img src="/static/img/aabb3d7e2b1c631a0d6157e42dc04e07.image.webp" alt="并肩成长、正向互动"></p>
<blockquote>
<p>真正的贵人，会<strong>鼓励</strong>你、<strong>指引</strong>你、<strong>帮助</strong>你，能开拓你的眼界、纠正你的格局、带给你源源不断的<strong>正能量</strong>。</p>
</blockquote>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/个人成长">个人成长</category>
        </item>
        <item>
            <title><![CDATA[什么才是最好的家风？]]></title>
            <link>http://blog.wilsonzy.cn/post/222</link>
            <guid>http://blog.wilsonzy.cn/post/222</guid>
            <pubDate>Thu, 01 Oct 2026 13:20:03 GMT</pubDate>
            <description><![CDATA[<p>一个家，两个人都在拼命赚钱，那这个家穷不了；</p>
<p>两个人都在用心养娃，这个家散不了。</p>
<p>既有钱又有娃，日子就幸福得不得了。</p>
]]></description>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <p>一个家，两个人都在拼命赚钱，那这个家穷不了；</p>
<p>两个人都在用心养娃，这个家散不了。</p>
<p>既有钱又有娃，日子就幸福得不得了。</p>
<!-- more -->
<h2>家风的4个核心准则</h2>
<ul>
<li>大事商量，小事原谅</li>
<li><strong>不争对错，不翻旧账</strong></li>
<li>家不是<strong>战场</strong>，不用摇旗呐喊、<strong>争胜负泪痕</strong></li>
<li>家也不是棋盘，不用小心翼翼、处处提防</li>
</ul>
<p><strong>家是孩子的起点，是我们归来的方向</strong>。</p>
<p><img src="/static/img/94f216b56e2790d3b5f027adda638bfa.image.webp" alt="温馨家庭共商日常"></p>
<hr>
<h2>家庭最好的“风水”</h2>
<p><strong>父亲的格局决定了家庭的方向，母亲的情绪决定了家庭的温度</strong>。</p>
<p>一个家庭最好的风水，从来不是外物的讲究，而是大格局和好情绪。</p>
<p>放下执念，珍惜眼前，多一点耐心，少一点抱怨。人生没有什么是不可以放下的。</p>
<hr>
<p><img src="/static/img/c83683d52c9af01db78b0dfbca277e1a.image.webp" alt="亲子陪伴暖家场景"></p>
<blockquote>
<p>父爱则母静，母静则子安，子安则家和，家和万事兴。</p>
</blockquote>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/个人成长">个人成长</category>
        </item>
        <item>
            <title><![CDATA[为什么要和读书多的人交朋友？]]></title>
            <link>http://blog.wilsonzy.cn/post/221</link>
            <guid>http://blog.wilsonzy.cn/post/221</guid>
            <pubDate>Sat, 19 Sep 2026 11:51:11 GMT</pubDate>
            <description><![CDATA[<p>每个人获取信息的渠道不同，核心是选择同频、能互相滋养的社交关系。</p>
]]></description>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <p>每个人获取信息的渠道不同，核心是选择同频、能互相滋养的社交关系。</p>
<!-- more -->
<h2>不读书的人，往往困在偏见的闭环里</h2>
<p>他们终其一生都在重复自己的固有偏见：</p>
<ul>
<li>排斥一切新事物，也不允许身边人表达不同的<strong>新观点</strong>；</li>
<li>只要你的话有一点不符合他的预期，就会勃然大怒；</li>
<li>只要你做的事有一点瑕疵，就会对你进行<strong>全盘否定</strong>。</li>
</ul>
<p><img src="/static/img/86c7ed791808b76832881c0eb0c0167e.image.webp" alt="阅读与精神成长.png"></p>
<h2>读书多的人，是能同频共振的优质挚友</h2>
<p>比起固守偏见，他们因为读过的书、见过的世界足够多，往往有着更高的认知和更稳的情绪：</p>
<ul>
<li>出现分歧时，不会一味反驳抬杠，反而能给出独到的<strong>见解</strong>；</li>
<li>遇到问题时，不会指责甩锅、逃避责任，反而会主动和你<strong>一起解决</strong>；</li>
<li>哪怕你做出了与众不同的选择，也能理解你的处境，包容你的“<strong>任性</strong>”。</li>
</ul>
<p><img src="/static/img/0050dc6c5f88816a04065c0f938de8f8.image.webp" alt="思想交流.png"></p>
<h2>和读书多的人交朋友，是精神的向上生长</h2>
<p>爱读书的人，<strong>因为见得多，所以更包容；因为懂得多，所以更谦卑</strong>。</p>
<p>和他们在一起，你看到的是思想的包容，感受到的是精神的自由：</p>
<p>你会借由他们的视角了解到自身的局限，从而生出更广阔的视野，</p>
<p>最终学会与多元的世界温柔共处，也<strong>与更好的自己相遇</strong>。</p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/个人成长">个人成长</category>
        </item>
        <item>
            <title><![CDATA[单位里领导最忌惮的一类人：大彻大悟、无欲无求的职场人]]></title>
            <link>http://blog.wilsonzy.cn/post/220</link>
            <guid>http://blog.wilsonzy.cn/post/220</guid>
            <pubDate>Sat, 19 Sep 2026 11:44:08 GMT</pubDate>
            <description><![CDATA[<p>内容为职场现象观察分享，不倡导消极躺平，职业发展仍建议结合自身规划理性选择。</p>
]]></description>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <p>内容为职场现象观察分享，不倡导消极躺平，职业发展仍建议结合自身规划理性选择。</p>
<!-- more -->
<p>除了自带背景的关系户外，领导最<strong>难拿捏</strong>、最<strong>避之不及</strong>的，就是这类无欲无求的职场人：</p>
<h3>这类人为何让领导忌惮？</h3>
<ol>
<li>没有硬后台背景，但绝不做讨好型<strong>马屁精</strong></li>
</ol>
<ul>
<li>
<blockquote>
<p>不吃逢迎讨好那一套</p>
</blockquote>
</li>
</ul>
<ol start="2">
<li>常规职场操控招数对他们完全失效</li>
</ol>
<ul>
<li>
<blockquote>
<p><strong>画大饼</strong>哄骗没用，刻意<strong>晾着孤立</strong>也没用</p>
</blockquote>
</li>
</ul>
<ol start="3">
<li>精神内核极其稳定</li>
</ol>
<ul>
<li>
<blockquote>
<p>活在自己的节奏里，不被虚伪的人情世故困住，也不为<strong>虚名浮利</strong>所动，真正做到无欲无求</p>
</blockquote>
</li>
</ul>
<p><img src="/static/img/93bada050db07b2aa58b154612cf2d34.image.webp" alt="image.png"></p>
<h3>这类人的职业局限性</h3>
<p>但“<strong>无欲无求</strong>”的特质也是一把双刃剑：</p>
<blockquote>
<p>因为缺乏向上突破的动力，这类人当下的状态，往往就是他们职业发展的<strong>天花板</strong>了。</p>
</blockquote>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/职场进阶">职场进阶</category>
        </item>
        <item>
            <title><![CDATA[职场一定要吃得下“夹生饭”：内核稳定生存指南]]></title>
            <link>http://blog.wilsonzy.cn/post/219</link>
            <guid>http://blog.wilsonzy.cn/post/219</guid>
            <pubDate>Sat, 19 Sep 2026 11:36:43 GMT</pubDate>
            <description><![CDATA[<p>所谓“<strong>夹生饭</strong>”，指的是过程有摩擦、感受不舒适，但最终结果符合你核心诉求的职场事项。</p>
]]></description>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <p>所谓“<strong>夹生饭</strong>”，指的是过程有摩擦、感受不舒适，但最终结果符合你核心诉求的职场事项。</p>
<!-- more -->
<p>以下内容核心是教你抓主要矛盾、减少情绪内耗，并非鼓励无底线妥协，涉及原则底线的权益问题仍需据理力争。</p>
<h2>常见“夹生饭”场景示例</h2>
<p>⚜️ 比如找领导请假，只要最终获批，不管对方过程中如何指责你，都当作没听到。</p>
<h2>底层逻辑与执行心法</h2>
<p>⚜️ 本质是「君子论迹不论心」：不用过度揣测对方的态度，<strong>只看最终达成的结果</strong>。</p>
<p>⚜️ 你对别人提了合理需求，对方有情绪是完全正常的。</p>
<p><img src="/static/img/b9d4c75eb0b240d6d4af6bf8a80cda10.image.webp" alt="image.png"></p>
<p>⚜️ 但只要对方最终满足你的诉求，就等同于已经向你妥协。</p>
<p>⚜️ 所以哪怕对方语气冲、眼神不耐烦又怎样？<strong>只要拿到你想要的结果，就完全不亏</strong>。</p>
<p>⚜️ 你要知道：<strong>真正消耗你的从来不是和外界周旋的过程，是你一直在和自己的情绪内耗</strong>。</p>
<p>⚜️ 放下情绪内耗，<strong>专注提升自身实力</strong>，等你能力足够强的时候，面对的大多数事都会是“香喷喷的熟饭”。</p>
<p>⚜️ 在实力足够之前，要把「<strong>形式上的胜利</strong>」让给别人，把「<strong>实质性的成长</strong>」牢牢抓在自己手里。</p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/职场进阶">职场进阶</category>
        </item>
        <item>
            <title><![CDATA[一份工作什么时候该辞职了？]]></title>
            <link>http://blog.wilsonzy.cn/post/218</link>
            <guid>http://blog.wilsonzy.cn/post/218</guid>
            <pubDate>Sat, 19 Sep 2026 11:31:24 GMT</pubDate>
            <description><![CDATA[<p>职场跳槽是重要的职业选择，以下分类供参考，核心判断标准是这份工作是否阻碍你的长期成长、消耗你的身心健康，避免因一时情绪冲动做决定。</p>
]]></description>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <p>职场跳槽是重要的职业选择，以下分类供参考，核心判断标准是这份工作是否阻碍你的长期成长、消耗你的身心健康，避免因一时情绪冲动做决定。</p>
<!-- more -->
<h2>不必急着辞职的常见小困扰</h2>
<ol>
<li><strong>薪水一般</strong>，未达到预期但能覆盖生活所需，不必辞职。</li>
<li><strong>偶尔加班</strong>，不影响整体生活节奏，不必辞职。</li>
<li>只是被领导<strong>批评几句</strong>，属于正常职场沟通，不必辞职。</li>
<li>仅和同事<strong>合不来</strong>，只要不影响正常工作对接，不必辞职。</li>
<li>只是工作<strong>辛苦琐碎</strong>，能积累基础经验、无其他硬伤，也不必辞职。</li>
</ol>
<p><img src="/static/img/3ad8e1c119422b5d2ede6d2521f08130.image.webp" alt="image.png"></p>
<h2>建议果断辞职的明确信号</h2>
<ol start="6">
<li>干了很久，<strong>能力没提升</strong>，越做越迷茫麻木，该辞。</li>
<li>公司<strong>只画饼、不谈保障</strong>，承诺全是空话，该辞。</li>
<li>一想到上班就<strong>压抑内耗</strong>，每天都在煎熬，更应该辞。</li>
</ol>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/职场进阶">职场进阶</category>
        </item>
        <item>
            <title><![CDATA[上班请带脑子：职场自保核心准则]]></title>
            <link>http://blog.wilsonzy.cn/post/217</link>
            <guid>http://blog.wilsonzy.cn/post/217</guid>
            <pubDate>Sat, 19 Sep 2026 11:27:36 GMT</pubDate>
            <description><![CDATA[<ol>
<li>管住嘴少随意表态，非必要不参与无关讨论，<strong>学会装聋作哑</strong>规避无谓是非。</li>
</ol>
]]></description>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <ol>
<li>管住嘴少随意表态，非必要不参与无关讨论，<strong>学会装聋作哑</strong>规避无谓是非。</li>
</ol>
<!-- more -->
<ol start="2">
<li>合理“隐身”，不要事事都往前凑，避免承担不属于自己的<strong>工作责任</strong>。</li>
<li><strong>别和领导争对错</strong>，明面上先认可对方的判断，不涉及原则底线的非合理要求可以不执行。</li>
<li>不要随便在任何文件上签字，先<strong>拍照留存</strong>工作痕迹、核清内容再下笔，避免事后背锅。</li>
<li><strong>责任心别太强</strong>，优先级永远对齐领导重视的核心事项，杂事不过度投入精力。</li>
</ol>
<p><img src="/static/img/d7cbcea696ede67a0af4eaf146175d1d.image.webp" alt="职场自保准则"></p>
<ol start="6">
<li>面对闲言碎语<strong>不附和、不插嘴</strong>，不参与任何非工作层面的八卦讨论。</li>
<li>不要随便同情同事，你的诉苦、工作把柄很可能转头就被对方截图当人情或甩锅的<strong>证据</strong>。</li>
<li><strong>不要轻信口头画的饼</strong>，到手的薪资、实打实落地的资源才是真的。</li>
<li>不要做职场烂好人，合理拒绝超出职责范围的杂事，<strong>“没时间”是最好用的保平安话术</strong>。</li>
<li><strong>保持清晰边界</strong>，禁止掏心掏肺透露私人信息，学会高质量独处，减少无效社交消耗。</li>
</ol>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/职场进阶">职场进阶</category>
        </item>
        <item>
            <title><![CDATA[职场应对不合理管理行为的理性自保策略]]></title>
            <link>http://blog.wilsonzy.cn/post/216</link>
            <guid>http://blog.wilsonzy.cn/post/216</guid>
            <pubDate>Sat, 19 Sep 2026 11:28:06 GMT</pubDate>
            <description><![CDATA[<p>以下内容为应对职场不合理操作的自我保护思路，</p>
]]></description>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <p>以下内容为应对职场不合理操作的自我保护思路，</p>
<!-- more -->
<p>核心是<strong>维护自身合法权益</strong>、减少无意义内耗，</p>
<p>不建议主动制造对立，职场长期发展仍以<strong>提升自身核心竞争力</strong>为核心。</p>
<p><img src="/static/img/7450e84ac5f23072e17d328c83a4aff8.image.webp" alt="职场理性自保"></p>
<ol>
<li>面对<strong>你架空</strong>的边缘化排挤，我选择<strong>摸鱼</strong>保底</li>
</ol>
<blockquote>
<p>同步梳理工作边界，避免无意义的精力消耗。</p>
</blockquote>
<ol start="2">
<li>面对<strong>你捧杀</strong>的捧高踩低，我选择<strong>装傻充愣</strong></li>
</ol>
<blockquote>
<p>不接话不浮躁，踏踏实实做好分内事。</p>
</blockquote>
<ol start="3">
<li>面对<strong>你煽风点火</strong>的挑拨离间，我选择<strong>隔岸观火</strong></li>
</ol>
<blockquote>
<p>不参与任何非工作层面的站队纠纷。</p>
</blockquote>
<ol start="4">
<li>面对<strong>你指桑骂槐</strong>的含沙射影，我选择<strong>装聋作哑</strong></li>
</ol>
<blockquote>
<p>只要不点明点名就不过度解读，不往自己身上揽负面情绪。</p>
</blockquote>
<ol start="5">
<li>面对<strong>你卸磨杀驴</strong>的过河拆桥，我选择<strong>暗度陈仓</strong></li>
</ol>
<blockquote>
<p>提前留好工作成果、沟通记录等凭证，同步规划后续路径，避免被动背锅。</p>
</blockquote>
<ol start="6">
<li>面对<strong>你画饼充饥</strong>的空头承诺，我选择<strong>左耳进右耳出</strong></li>
</ol>
<blockquote>
<p>只听不信，只看实际到手的工作反馈、资源倾斜，不把预期绑定在口头承诺上。</p>
</blockquote>
<ol start="7">
<li>面对<strong>你过河拆桥</strong>的秋后算账，我选择<strong>未雨绸缪</strong></li>
</ol>
<blockquote>
<p>提前留好所有工作留痕、沟通凭证，避免被甩锅时百口莫辩。</p>
</blockquote>
<ol start="8">
<li>面对<strong>你捧新踩旧</strong>的厚此薄彼，我选择<strong>顺水推舟主动让贤</strong></li>
</ol>
<blockquote>
<p>把边缘性工作合理交接，把精力聚焦在核心价值产出上，不参与无意义的比较内耗。</p>
</blockquote>
<ol start="9">
<li>面对<strong>你拉帮结派</strong>的办公室政治，我选择<strong>独善其身</strong></li>
</ol>
<blockquote>
<p>只做工作层面对接，不参与任何小团体的利益纠葛，保持中立立场。</p>
</blockquote>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/职场进阶">职场进阶</category>
        </item>
        <item>
            <title><![CDATA[我们崇拜毛主席：他的话语，是写给所有普通人的底气]]></title>
            <link>http://blog.wilsonzy.cn/post/215</link>
            <guid>http://blog.wilsonzy.cn/post/215</guid>
            <pubDate>Sat, 19 Sep 2026 11:13:55 GMT</pubDate>
            <description><![CDATA[<p>这几句话之所以能戳中无数人，恰恰是因为它们从来不是悬浮的口号，是毛主席用一辈子的人生阅历、用无数至暗时刻的坚守淬出来的真心话，穿越近百年时光，依然能给普通人最扎实的底气。</p>
]]></description>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <p>这几句话之所以能戳中无数人，恰恰是因为它们从来不是悬浮的口号，是毛主席用一辈子的人生阅历、用无数至暗时刻的坚守淬出来的真心话，穿越近百年时光，依然能给普通人最扎实的底气。</p>
<!-- more -->
<p>我们崇拜他，从来不是把他供上神坛，是真的在这些话里，get到了属于普通人的力量：</p>
<ul>
<li>当我为生计发愁、总等着别人施舍躺平的时候，</li>
</ul>
<p>他告诉我：“<strong>自己动手、丰衣足食</strong>。”</p>
<ul>
<li>当我捧着书本困惑、不知道读书能带自己走多远的时候，</li>
</ul>
<p>他教导我：“<strong>好好学习，天天向上</strong>。”</p>
<ul>
<li>当我浑浑噩噩混日子、总把该做的事推到明天的时候，</li>
</ul>
<p>他告诫我：“<strong>一万年太久，只争朝夕</strong>。”</p>
<ul>
<li>当我被外界的风吹浪打搅得心神不宁、为未知的变数焦虑不安的时候，</li>
</ul>
<p>他开导我：“<strong>不管风吹浪打，胜似闲庭信步</strong>。”</p>
<ul>
<li>当我出身平凡、觉得自己再怎么努力也翻不出浪花的时候，</li>
</ul>
<p>他鼓励我：“<strong>星星之火，可以燎原</strong>。”</p>
<ul>
<li>当我撞了南墙摔了跟头、觉得眼前的难关永远过不去的时候，</li>
</ul>
<p>他激励我：“<strong>雄关漫道真如铁，而今迈步从头越</strong>。”</p>
<ul>
<li>当我走了半程就累得想放弃、觉得自己撑不到终点的时候，</li>
</ul>
<p>他鞭策我：“<strong>不到长城非好汉，屈指行程二万</strong>。”</p>
<ul>
<li>当我被现实磨得意志消沉、觉得自己这辈子也就这样的时候，</li>
</ul>
<p>他宽慰我：“<strong>自信人生二百年，会当水击三千里</strong>。”</p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/个人成长">个人成长</category>
        </item>
        <item>
            <title><![CDATA[找工作必看的招聘「潜台词」避坑指南]]></title>
            <link>http://blog.wilsonzy.cn/post/214</link>
            <guid>http://blog.wilsonzy.cn/post/214</guid>
            <pubDate>Sat, 19 Sep 2026 09:36:25 GMT</pubDate>
            <description><![CDATA[<p>打工人求职防坑必存👇</p>
]]></description>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <p>打工人求职防坑必存👇</p>
<!-- more -->
<h2>🚨 薪资类话术陷阱</h2>
<table>
<thead>
<tr>
<th>招聘话术</th>
<th>实际含义</th>
</tr>
</thead>
<tbody>
<tr>
<td>工资面议</td>
<td>薪资低于市场水平，不敢明说怕候选人直接跑路</td>
</tr>
<tr>
<td><strong>薪资 5 千 ~ 8 千</strong></td>
<td>实际薪资基本在 5 千出头，8 千是理想状态碰不到</td>
</tr>
<tr>
<td>薪资上不封顶</td>
<td>底薪极低，收入全靠绩效，大概率达不到平均水平</td>
</tr>
<tr>
<td>强调入职交五险一金</td>
<td>社保公积金按最低基数缴纳，福利缩水</td>
</tr>
</tbody>
</table>
<h2>🚨 工作强度类话术陷阱</h2>
<table>
<thead>
<tr>
<th>招聘话术</th>
<th>实际含义</th>
</tr>
</thead>
<tbody>
<tr>
<td>要求<strong>抗压能力强</strong></td>
<td>工作量超负荷，事杂且容易背锅受气</td>
</tr>
<tr>
<td>公司包三餐</td>
<td>默认需要从早干到晚，加班是常态</td>
</tr>
<tr>
<td>提倡主人翁思维</td>
<td>变相要求员工无偿加班，把公司当自己家</td>
</tr>
<tr>
<td>招聘<strong>复合型人才</strong></td>
<td>身兼数职干杂活，不会给对应岗位涨薪</td>
</tr>
</tbody>
</table>
<h2>🚨 公司管理类话术陷阱</h2>
<table>
<thead>
<tr>
<th>招聘话术</th>
<th>实际含义</th>
</tr>
</thead>
<tbody>
<tr>
<td>公司扁平化管理</td>
<td>管理层级混乱，<strong>分工不明确</strong>，杂活全推给员工</td>
</tr>
<tr>
<td>实行<strong>弹性工作制</strong></td>
<td>只是弹下班时间，上班时间要求提前，<strong>下班时间无限延后</strong></td>
</tr>
<tr>
<td>晋升快</td>
<td>公司规模极小，人员流动性极大，没人干活就随便提岗</td>
</tr>
<tr>
<td><strong>发展空间大</strong></td>
<td>当前薪资低、福利差，用“<strong>未来画饼</strong>”抵消当下待遇不足</td>
</tr>
<tr>
<td>常年招人</td>
<td>公司留不住人，岗位坑多，一直在补流失的缺口</td>
</tr>
</tbody>
</table>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/职场进阶">职场进阶</category>
        </item>
        <item>
            <title><![CDATA[领导层才知道的 4 条职场潜规则]]></title>
            <link>http://blog.wilsonzy.cn/post/213</link>
            <guid>http://blog.wilsonzy.cn/post/213</guid>
            <pubDate>Sat, 19 Sep 2026 09:29:15 GMT</pubDate>
            <description><![CDATA[<p>💰 套路1：白嫖劳动力型</p>
]]></description>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <p>💰 套路1：白嫖劳动力型</p>
<!-- more -->
<p><strong>想让你多干活又不肯加工资</strong> → 开始疯狂夸你</p>
<blockquote>
<p>要求员工承担更多工作量却不愿涨薪，转而用口头夸奖代替实际激励</p>
</blockquote>
<p>🥧 套路2：画饼破产型</p>
<p><strong>画的饼快到期没法兑现</strong> → 开始挑刺打压你</p>
<blockquote>
<p>承诺的福利/晋升等“大饼”临近兑现期却无法落地，转而挑员工毛病、打压积极性</p>
</blockquote>
<p>🏃 套路3：临时挽留型</p>
<p><strong>看你状态差想跑路</strong> → 突然开始关心你</p>
<blockquote>
<p>察觉到员工状态低迷、有离职倾向时，突然转向关怀姿态，实则是为了暂时稳住员工</p>
</blockquote>
<p>👶 套路4：危机煽动型</p>
<p><strong>看大家状态都不好</strong> → 招新人、捧新人给你造危机感</p>
<blockquote>
<p>发现团队整体士气低落、人员流失风险高时，通过招聘新人、刻意捧高新人等方式，给老员工制造危机感</p>
</blockquote>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/职场进阶">职场进阶</category>
        </item>
        <item>
            <title><![CDATA[职场禁忌：8 件绝对要避开的傻事]]></title>
            <link>http://blog.wilsonzy.cn/post/212</link>
            <guid>http://blog.wilsonzy.cn/post/212</guid>
            <pubDate>Sat, 19 Sep 2026 09:20:18 GMT</pubDate>
            <description><![CDATA[<p>打工人摸鱼干货，避开这些坑少走10年弯路👇</p>
]]></description>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <p>打工人摸鱼干货，避开这些坑少走10年弯路👇</p>
<!-- more -->
<h2>行为类踩雷</h2>
<ol>
<li>辞职后返岗</li>
<li>提离职后临时反悔不走</li>
<li><strong>非工作时间秒回工作消息</strong></li>
<li>过度揽责，大包大揽超出职责的事</li>
</ol>
<h2>人际类踩雷</h2>
<ol start="5">
<li>未被通知的工作事项随意打听</li>
<li><strong>主动插手</strong>没被请求帮忙的同事事务</li>
</ol>
<h2>心态类踩雷</h2>
<ol start="7">
<li><strong>把领导画的饼当承诺，过度纠结同事的闲言碎语</strong></li>
<li>将工作负面情绪带回家，记住工资买断了工作时间，<strong>精神损失要自己规</strong>避</li>
</ol>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/职场进阶">职场进阶</category>
        </item>
        <item>
            <title><![CDATA[永远不要延迟幸福]]></title>
            <link>http://blog.wilsonzy.cn/post/211</link>
            <guid>http://blog.wilsonzy.cn/post/211</guid>
            <pubDate>Sat, 19 Sep 2026 09:13:45 GMT</pubDate>
            <description><![CDATA[<p>新买的衣服马上就穿</p>
]]></description>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <p>新买的衣服马上就穿</p>
<!-- more -->
<p>想吃的蛋糕立刻去买</p>
<p><strong>先苦未必后甜</strong></p>
<p><strong>先甜那一定是甜到了</strong></p>
<p><img src="/static/img/e42a991c7ed3339561618430cf99065a.image.webp" alt="image.png"></p>
<p>你要知道</p>
<p>人不是老了才会死</p>
<p>而是每天都有可能死</p>
<p><strong>人生看似悠长</strong></p>
<p><strong>却也转瞬即逝</strong></p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/心灵探索">心灵探索</category>
        </item>
        <item>
            <title><![CDATA[上班的风气已经变了]]></title>
            <link>http://blog.wilsonzy.cn/post/210</link>
            <guid>http://blog.wilsonzy.cn/post/210</guid>
            <pubDate>Sat, 19 Sep 2026 09:05:48 GMT</pubDate>
            <description><![CDATA[<p>当下上班的逻辑早已发生变化：</p>
]]></description>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <p>当下上班的逻辑早已发生变化：<!-- more --></p>
<ol>
<li><strong>越负责活越多</strong>：<br>
做事认真靠谱的人，会被不断塞更多工作</li>
</ol>
<p><img src="/static/img/53f28d1b133fbc117e4970a4964f23b3.image.webp" alt="image.png"></p>
<ol start="2">
<li>
<p><strong>甩锅者反而轻松</strong>：<br>
工作做得差的人，领导只会以「<strong>他不会干</strong>」为由，把任务转嫁给能干的人</p>
</li>
<li>
<p><strong>实干者只换口头认可</strong>：<br>
最终扛下所有工作的能者，到头来只落得一句「<strong>你办事我放心</strong>」的空头夸奖</p>
</li>
</ol>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/职场进阶">职场进阶</category>
        </item>
        <item>
            <title><![CDATA[为什么管理一严格，员工就要走]]></title>
            <link>http://blog.wilsonzy.cn/post/209</link>
            <guid>http://blog.wilsonzy.cn/post/209</guid>
            <pubDate>Sat, 11 Jul 2026 14:39:59 GMT</pubDate>
            <description><![CDATA[<p>给基层员工一个月开5万，看员工还走不走?</p>
<p>就是规定上班时间，不允许上厕所。</p>
<p>他们都能买成人纸尿裤，自己穿上。</p>
]]></description>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <p>给基层员工一个月开5万，看员工还走不走?</p>
<p>就是规定上班时间，不允许上厕所。</p>
<p>他们都能买成人纸尿裤，自己穿上。</p>
<!-- more -->
<p>一个月三五千，屁事一大堆。</p>
<p>人家出来打工是为了挣钱养家，不是为了养资本家。</p>
<p>要连这点东西都弄不明白，开什么公司，当什么老板?</p>
<p>钱多事少，你是我爷,<br>
钱少事少，各自安好。<br>
钱少事多，那就别怪别人为什么不愿意干。</p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/生活琐记">生活琐记</category>
        </item>
        <item>
            <title><![CDATA[一定要清楚自己未来的目标是什么]]></title>
            <link>http://blog.wilsonzy.cn/post/208</link>
            <guid>http://blog.wilsonzy.cn/post/208</guid>
            <pubDate>Mon, 18 May 2026 13:44:04 GMT</pubDate>
            <description><![CDATA[<p>很多人把职场想得太美好，其实不然。</p>
<p>如果你没有规划好，你就会难免遇到各种各样的问题：</p>
<p>工作不开心；没有前进的动力；</p>
<p>工作不是自己想像的那么好；自己的才能无法发挥；</p>
]]></description>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <p>很多人把职场想得太美好，其实不然。</p>
<p>如果你没有规划好，你就会难免遇到各种各样的问题：</p>
<p>工作不开心；没有前进的动力；</p>
<p>工作不是自己想像的那么好；自己的才能无法发挥；</p>
<!-- more -->
<p>看到以前的同学待遇如何如何，便受不了刺激，急切地想跳槽；</p>
<p>当初为了生存而找的工作，根本就不适合自己……</p>
<p>这是几乎所有初入职场的朋友都会面临的问题。</p>
<p>而这些问题通常会在步入职场的1－3年之内最明显（3年之后之所以不明显，是因为你已经被现实折磨得太久了，已经被种种不平现象同化了，因此也就<strong>习惯</strong>了。</p>
<p><img src="/static/img/709c51f3818af74b7d38adf954d3e1ba.image.webp" alt="image.png"></p>
<p>你曾经的种种抱负被现实碾得粉碎，于是，你也从一个志向远大的年轻人一下子变成了一个<strong>碌碌无为</strong>、<strong>甘于平庸</strong>、成天为了生计而奔走的普通打工者）。</p>
<p>如果不及早解决这些问题，那么，你就会荒废这3年的时间（有的人可能会更长），而对于一个职场新人来说，这3年至关重要，是锻炼能力、积累资本的黄金3年！</p>
<p><strong>一旦错过，则要花费更多的时间，从头再来，重新弥补</strong>！更有甚者，可能一辈子都无法弥补！这绝对不是危言耸听！</p>
<p>因此，如果你的职场年龄还没有超过3年，恭喜你，还有改变命运的机会。而一旦超过了3年，那么，你的每一次改变，都将付出巨大的代价！</p>
<p>为什么要清楚自己的目标？因为，<strong>有了目标，才有行动的指南。知道自己想干什么，喜欢干什么，这才是你前进的最终动力</strong>。</p>
<p>工作不开心、动力不足、盲目跳槽的最根本原因是职业目标不清晰。</p>
<p>没有目标，便没有了追求，于是，所有的行动只是为了挣一口饭吃。你根本没有考虑过自己的未来应该端什么饭碗。或许你在30岁之前还有挥霍的资本，因为年轻嘛，做什么都不怕。连广告上都说了，“30岁之前，有什么好怕的？”</p>
<p>而一旦过了30岁，你走的每一步都必须要慎之又慎，因为：你要结婚、你要养活老婆孩子、你要供房贷、你要供养年迈的父母、孩子大了还要上学、父母年迈了需要照顾……等等等等，所有的这些责任，都要你来承担。如果没有规划，一旦出现问题，你只能自乱阵脚。</p>
<p><img src="/static/img/692ff5f96ccc47883fb38aac35969519.image.webp" alt="image.png"></p>
<p>人生的职业发展如同品牌塑造一样，只不过你的产品就是你自己。<strong>你自己的发展目标，也就是你人生的品牌目标</strong>。</p>
<p>有了目标，就要考虑该怎么走。每走一步，都应该离目标更近，而不是更远。</p>
<p>所以，你每做一个决定的时候，要衡量这个决定对不对，唯一的标准就是：它是不是能够帮助你离目标更近？如果不是，那么，赶紧住手，因为，<strong>你走的路偏离了你的目标！再走下去，只能错得更离谱</strong>！</p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/职场进阶">职场进阶</category>
        </item>
        <item>
            <title><![CDATA[你要找的是事业的方向，而不是一份工作]]></title>
            <link>http://blog.wilsonzy.cn/post/207</link>
            <guid>http://blog.wilsonzy.cn/post/207</guid>
            <pubDate>Mon, 18 May 2026 13:11:17 GMT</pubDate>
            <description><![CDATA[<p>我也时常叩问自己：毕业五年后，我会站在哪里？过什么样的生活？</p>
<p>毕业后的岔路口上，有人一头扎进职场摸爬滚打，有人选择继续深造蓄力……</p>
]]></description>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <p>我也时常叩问自己：毕业五年后，我会站在哪里？过什么样的生活？</p>
<p>毕业后的岔路口上，有人一头扎进职场摸爬滚打，有人选择继续深造蓄力……</p>
<!-- more -->
<p>正如“打工皇帝”唐骏曾说：刚踏入职场的新人，头五年千万别开口问“能不能多给我点工资”，最该在意的，是这里能不能让你学到东西、能不能给你的成长铺路。</p>
<p><img src="/static/img/4ce30b9b47a5924bb5ae01a19cd5be19.image.webp" alt="image.png"></p>
<p>人往往在顺境里收获的教益又少又浅，在磨难里得到的成长又多又深。<em>年轻的时候吃些苦</em>，若能正视困境、咬牙闯过，反倒<em>能成为日后让人敬慕的底气</em>。说到底，人生最要紧的是先练内功，而毕业后的五年，就是打磨内功的黄金期：<strong>把底子打牢了，未来才有能力攀到更高的地方</strong>。</p>
<blockquote>
<p>其实，没钱、没经验、没阅历、没人脉，这些都不算可怕。</p>
<p>没钱，靠双手勤勉就能慢慢赚来；</p>
<p>没经验，在实操里摸爬滚打就能攒下；</p>
<p>没阅历，一步一个脚印就能逐渐积累；</p>
<p>没人脉，一点点真诚交往就能慢慢织起。</p>
<p>真正要命的，是没梦想、没思路——那才是真的让人恐惧、只想逃避的根源。</p>
</blockquote>
<p>荷马史诗《奥德赛》里有一句传世名言：“<strong>没有比漫无目的地徘徊更让人难以忍受的了</strong>。”</p>
<p>毕业后的五年看似不长，却藏着往后十年的走向：此时的迷茫混沌，很可能变成十年后的慌乱无措，二十年后的苦苦挣扎，甚至是一辈子的庸庸碌碌。如果这五年里我们迟迟走不出困惑、拨不开迷雾，实在不知道拿什么面目去见十年后、二十年后已经长大的自己。这五年有太多待定，有太多选择，可恰恰是这些不确定里，藏着数不清的可能性。</p>
<p><strong>迷茫和困惑是每个人都会遇到的关卡，恐惧和逃避也曾是很多人共同的念头，但千万别把暂时的迷茫当成自我放弃、甘于平庸的借口，更别让这些情绪变成困住你、只会自怨自艾的苦酒。生命的分量要自己扛，命运的走向要自己攥</strong>。</p>
<p>毕业这五年里，越早找到方向、越早拨开迷雾，就越能在往后的人生里走得稳、走得远，闯出属于自己的精彩。没方向的人像无头苍蝇，到处乱撞只会碰得头破血流；找不到出路的人，才会始终陷在迷茫和恐惧里。</p>
<p><img src="/static/img/cabc441d353c6bfa3276c50b9eb907a3.image.webp" alt="image.png"></p>
<p>生活里遇到坎的时候，我们很容易生出“走投无路”的绝望。别急着气馁，再撑一撑：<strong>年轻的人生从来不会有真正的绝路，你当下的困境前面，说不定转个弯就是希望。只要找对了方向，就一定能少走冤枉路，找到属于自己的出路</strong>。</p>
<p>我见过很多在职场里走得稳、走得远的人，身上都有两个共性：</p>
<p>第一，选定一个行业就沉下心深耕；<br>
第二，认准一家公司就踏踏实实待上几年。</p>
<p>刚毕业的这几年，生活、感情、职业都充满了变数，未来有千万种可能。这时候最该学会的，就是做选择、懂放弃，给自己一个<strong>清晰的定位</strong>，让自己先“定”下来。你要是不主动给自己找准定位，很快就会被别人、被社会的固有标准套牢。</p>
<p>刚毕业，一定要先选好自己的事业方向——想进什么行业，想做什么职业，想清楚了再针对性去找适配的公司和平台。至于怎么选方向？</p>
<p><img src="/static/img/ca948a9019a876995b2bb2d3d126e254.image.webp" alt="image.png"></p>
<p>我想告诉大家：<strong>兴趣</strong>是第一准则！只要是你喜欢做的事，只要是你真心热爱的，只要做的时候能让你觉得开心、有成就感，不管是不是和专业对口，不管别人怎么看，都大胆去做。要是你不信，咱们搬出孔夫子的话佐证：子曰：“<strong>知之者不如好之者，好之者不如乐之者</strong>。”这里说的“知之者”，可以理解为专业对口、懂行的人，但真正能走得长、走得远的，永远是“好之者”“乐之者”——也就是真正热爱、能从这件事里获得乐趣的人。</p>
<p>要是你当下工作不顺，别急着否定自己：<strong>人生没有走不出的低谷，只要你不放弃，迟早能冲破眼前的层层阴霾</strong>。很多人刚毕业时都觉得自己是块“金子”，早晚能发光，可现实往往和他们想的不一样。慢慢从“我是天才”的优越感里滑落，变成失落、挫败，再从坚信自己是“金子”变成怀疑自己是“沙子”，愤怒、迷茫、自卑就会一天天累积。这时候不妨好好掂量掂量自己：你真的有过硬的本事吗？</p>
<p>真金要靠实力说话，身上没点真本事、没有过人之处，凭什么要求别人把你当金子？说白了：<strong>真金是要靠实力证明的，只有先把真本事练到家了，才有资格谈“遇伯乐”的事</strong>。</p>
<p>能<strong>胜任工作</strong>是做好一切事情的前提，“能干”是合格员工的基本门槛，“肯干”则是成事的核心态度。一个岗位往往有很多人都能胜任，基本的工作能力大家都具备，但能不能把事做得更出彩，关键就看有没有踏实肯干、善于钻研的态度。刚毕业的我们，哪个不是心怀壮志，都想做一匹被赏识、能在职场沙场驰骋的千里马？那就先沉下心打磨自己。暂时低就一点从来不是低人一等，<strong>今天的俯身沉淀，是为了明天能站得更高</strong>。说白了，生命的价值就体现在“对别人有价值”上：能被人用、能创造价值，是好事；没人理、没人需要，才是真的悲哀。</p>
<p>最后也想对你说：<strong>别轻易给自己贴“失败”的标签，你只是暂时还没成功而已。只要心里亮着一盏不灭的希望灯，就一定能驱散眼前的阴霾，等到云开月明的那天</strong>。</p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/个人成长">个人成长</category>
        </item>
        <item>
            <title><![CDATA[《从行动开始：自我管理的科学》—读书笔记]]></title>
            <link>http://blog.wilsonzy.cn/post/206</link>
            <guid>http://blog.wilsonzy.cn/post/206</guid>
            <pubDate>Wed, 25 Feb 2026 13:15:41 GMT</pubDate>
            <description><![CDATA[<p>今天分享的书籍是《从行动开始》。</p>
<p>本书作者石田淳，被誉为日本研究行为科学管理第—人。日本行为科学管理研究所的所长，也是美国行为分析学会和日本行为分析学会的会员。他将科学分析人类行为的“行为分析学”和“行为心理学”方法改进为“行为科学管理”，这个方法被包括美国太空总署和波音公司在内的600多家公司采用。</p>
]]></description>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <p>今天分享的书籍是《从行动开始》。</p>
<p>本书作者石田淳，被誉为日本研究行为科学管理第—人。日本行为科学管理研究所的所长，也是美国行为分析学会和日本行为分析学会的会员。他将科学分析人类行为的“行为分析学”和“行为心理学”方法改进为“行为科学管理”，这个方法被包括美国太空总署和波音公司在内的600多家公司采用。</p>
<!-- more -->
<p><img src="/static/img/908cde4cb4622ec201db83d0bc799f6e.image.webp" alt="image.png"></p>
<p>这本书的核心内容在于“<strong>行动积累产生结果</strong>”，强调通过持续的行动实现目标。每个结果都源自于我们每天小小的行动，这些行动最终会累积成显著的成果。而相反，不良的行动积累则会导致不理想的结果。要掌握这种“行动科学管理”，需要遵循三个原则、一个工具和两个技巧。</p>
<h2>1. <strong>三个原则</strong>——帮助行动顺利启动</h2>
<ul>
<li><strong>当下</strong></li>
</ul>
<p><strong>目标必须与我们当前的能力和资源相适应</strong>，而不是一开始就设定过高的期望。如果目标过于远大，可能会因为无法实现而导致放弃。设定合理、现实的目标能让我们更容易开始并逐步推进。</p>
<blockquote>
<p><strong>案例</strong>：假设你想减肥，目标是三个月内减掉10公斤。如果你从一开始就每天做两个小时的高强度运动，这不仅难以坚持，还可能对身体造成伤害。一个更合理的目标是先设定每天30分钟的锻炼时间，逐渐增加强度和时长。这样，目标更容易实现，且不会让你感到过大的压力。</p>
</blockquote>
<ul>
<li><strong>自我</strong></li>
</ul>
<p><strong>目标要来源于内心的需求</strong>，而非外界的压力。许多人设定目标时，常常会被他人的期望所左右，导致目标失去意义。真正属于自己的目标，才是最能激发动力的目标。</p>
<blockquote>
<p><strong>案例</strong>：李华总是为了满足父母的期望选择学习医学，但他内心更喜欢艺术。最终，李华决定辞去医学专业，转而报考了美术学院。这个决定虽然让他经历了一些挣扎，但他发现，真正投入自己喜欢的领域后，他的学习动力变得更加充沛，成绩也因此大幅提升。</p>
</blockquote>
<ul>
<li><strong>微小</strong></li>
</ul>
<p>大目标容易让人感到畏惧和困惑。将它们<strong>拆解为一个个小步骤</strong>，每一步都能感受到进展。这种小而具体的步骤不仅能减少焦虑，还能让你逐步积累信心，最终实现大目标。</p>
<blockquote>
<p><strong>案例</strong>：王刚想创业，但一开始就担心自己无法承担整个公司运作的压力。于是，他决定先从做一个小的线上商店开始，每周坚持更新产品，积累客户群。通过这种逐步推进的方式，他最终发展成了一家拥有数百名员工的企业。</p>
</blockquote>
<h2>2. <strong>遇到挫折时，避免放弃的工具——实况转播</strong></h2>
<p>在实现目标的过程中，难免会遇到挫折。</p>
<p>为了避免因情绪化反应而导致放弃，可以使用“实况转播”的方法。</p>
<p><em>实况转播就是将我们遇到的问题或挑战当作一场电视直播来观察，客观地描述发生了什么，而不对结果做过多的情绪化解读</em>。例如，遇到失败时，不是把它看作个人的失败，而是仅仅看作是“目标实现过程中出现了问题”。这种方式帮助我们保持冷静，并将注意力集中在解决问题上，而非陷入沮丧的情绪中。</p>
<blockquote>
<p><strong>案例</strong>：小张是一位软件开发工程师，在开发新产品时遇到了多个技术难题。最初，他感到非常沮丧，甚至想放弃。但后来他尝试使用“实况转播”法，将问题描述为“程序出现了一个bug，需要调整代码”。这种方式让他把问题看作是一个普通的技术挑战，而不是个人的失败，最终他成功解决了技术问题，产品也顺利上线。</p>
</blockquote>
<h2>3. <strong>行动坚持阶段，提升行动效果的两个技巧</strong></h2>
<ul>
<li><strong>ABC法则</strong></li>
</ul>
<p>每个行为的发生都由三个因素决定：<strong>A是前提条件，B是行为本身，C是结果</strong>。如果我们想要改变某种行为（B），需要从改变前提条件（A）入手，同时关注结果（C）的反馈。这三个因素相互影响，一旦前提条件得到优化，行为也会更加稳定，最终带来好的结果。</p>
<blockquote>
<p><strong>案例</strong>：王明想要提高自己的英语水平。根据ABC法则，他首先改变了学习环境（A），例如每天固定时间在安静的地方学习，而不是在嘈杂的地方。其次，他每天进行至少30分钟的听力训练（B）。最终，他发现自己的英语听力和口语都有了显著提升（C）。</p>
</blockquote>
<ul>
<li><strong>劣后顺序</strong></li>
</ul>
<p>在人生的有限时间内，我们必须学会优先处理最重要的事情。劣后顺序的原则是明确哪些事情可以延后，哪些是必须要做的。通过将不重要的事情放在后面处理，我们能集中精力处理最关键的任务，从而提高效率，避免因为琐事分散精力。</p>
<blockquote>
<p><strong>案例</strong>：陈华是一位职场新人，刚入职时他面临大量的工作任务。如果他每次都处理琐碎的细节工作，很可能会分散精力，错过重要的工作机会。后来，他学会了优先处理最重要的任务，并将一些不紧急的任务推迟。这让他在有限的时间里专注于高优先级的工作，成绩也逐渐得到上司的认可。</p>
</blockquote>
<hr>
<p>任何改变都不会一蹴而就，需要经历三个阶段：<strong>行动启动</strong>、<strong>遇到挑战</strong>、<strong>坚持行动</strong>。</p>
<p>在行动启动阶段，我们可以通过设定合理、符合自己实际情况的目标来激发动力；</p>
<p>在面对挑战时，运用实况转播避免情绪化反应，保持冷静；</p>
<p>在行动坚持阶段，通过使用ABC法则和劣后顺序技巧，优化行为和时间管理，提升行动效果。最终，通过科学的行动管理，我们可以不断实现自我提升。</p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/书籍阅读">书籍阅读</category>
        </item>
        <item>
            <title><![CDATA[ 2025 年度工作总结]]></title>
            <link>http://blog.wilsonzy.cn/post/205</link>
            <guid>http://blog.wilsonzy.cn/post/205</guid>
            <pubDate>Mon, 12 Jan 2026 13:29:56 GMT</pubDate>
            <description><![CDATA[<p><img src="/static/img/b85008748310e98ae99b90451e77f91b.image.webp" alt="image.png"></p>
]]></description>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <p><img src="/static/img/b85008748310e98ae99b90451e77f91b.image.webp" alt="image.png"></p>
<!-- more -->
<p>各位领导、同事们：</p>
<p>在过去的一年里，我立足于本职岗位，以高度的<strong>责任感</strong>和<strong>使命感</strong>认真履行工作职责，较好地完成了各项工作任务。现将一年来的工作情况总结如下：</p>
<h2>一、工作开展情况</h2>
<ol>
<li>完成了安排的所有工作任务。</li>
<li>积极主动，承担了未被安排的任务。</li>
<li>在职责范围外，也参与了其他工作。</li>
</ol>
<h2>二、存在的主要问题</h2>
<ol>
<li><strong>过于主动，承担了未被安排的工作</strong>。</li>
<li><strong>参与了不属于我职责范围的工作。</strong></li>
</ol>
<h2>三、下一步工作计划</h2>
<ol>
<li><strong>不再主动承担未安排的工作</strong>。</li>
<li><strong>避免参与不属于我职责的任务</strong>。</li>
<li>将相关工作交由获得年度优秀表彰的同事负责。</li>
</ol>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/职场进阶">职场进阶</category>
        </item>
        <item>
            <title><![CDATA[如何与脾气暴躁的人相处]]></title>
            <link>http://blog.wilsonzy.cn/post/204</link>
            <guid>http://blog.wilsonzy.cn/post/204</guid>
            <pubDate>Mon, 12 Jan 2026 13:17:18 GMT</pubDate>
            <description><![CDATA[<p>一句<strong>幽默</strong>的话语，或者一个微笑，可能是与脾气暴躁的人相处的有力武器。</p>
<p><img src="/static/img/7cd54db0ba0eb3010d7932cb76794c89.image.webp" alt="image.png"></p>
]]></description>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <p>一句<strong>幽默</strong>的话语，或者一个微笑，可能是与脾气暴躁的人相处的有力武器。</p>
<p><img src="/static/img/7cd54db0ba0eb3010d7932cb76794c89.image.webp" alt="image.png"></p>
<!-- more -->
<p>同时，适当的赞扬也能为你争取一些优势。这类人通常喜欢听奉承话，因此我们应不失时机、恰如其分地赞美他们。在与他们交往时，应该多采用<strong>正面</strong>的方式，而谨慎使用反面和批评的方式。</p>
<p><strong>宽宏大量，一笑了之</strong></p>
<p>当遇到脾气暴躁的人冒犯你时，保持<strong>冷静</strong>至关重要。你可以选择<strong>置之不理</strong>，或者用一个眼神瞪他，亦或是以<strong>微笑回应</strong>。这种“一笑了之”的微笑可以是泰然自若的微笑，也可以是带有蔑视的冷笑，甚至是略带讽刺的嘲笑。然而，最理想的是保持<strong>泰然处之的微笑</strong>，它不仅能帮助你摆脱尴尬局面，还能让对方知难而退，从而避免事态恶化。</p>
<p><img src="/static/img/b8152e9add32526cc0efc192902fb316.image.webp" alt="image.png"></p>
<p><strong>暂时忍让，避开锋芒</strong></p>
<p>如果脾气暴躁者冒犯了你，而你自己也是急躁的人，那么急躁碰上急躁，针尖对麦芒，很容易引发冲突。因此，你应当<strong>压制心中的火气，选择暂时忍让，避开锋芒</strong>。当对方的情绪平复后，再以<strong>温和的语气进行说服</strong>，或者通过讲事实、摆道理来消除误会。</p>
<p><strong>开阔胸怀，宽宏大度</strong></p>
<p>拥有宽广的胸怀可以让你对别人的态度不再计较，也勇于承担自己的责任，做到任劳任怨。无论对方如何吵闹、凶狠或骂你，你都应<strong>保持冷静和克制</strong>。只要你展现出<strong>温和的态度</strong>与<strong>宽广的胸怀</strong>，自然会使对方的怒火减弱，从而感到无趣，变得更加收敛。</p>
<p><img src="/static/img/34134a0451f727e2d7e5d7c50764a3c6.image.webp" alt="image.png"></p>
<p><strong>察言观色，防患未然</strong></p>
<p>脾气暴躁的人在生气时，最容易对周围的人发泄情绪。这时，你要懂得迁就他们。如果你与他对抗，可能会成为他的“出气筒”。因此，一定要<strong>察言观色</strong>，揣摩对方的心理状态，先<strong>主动退一步</strong>，待对方情绪稳定后，再进一步与他沟通，说明一切。</p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/职场进阶">职场进阶</category>
        </item>
        <item>
            <title><![CDATA[如何应对“笑面虎”]]></title>
            <link>http://blog.wilsonzy.cn/post/203</link>
            <guid>http://blog.wilsonzy.cn/post/203</guid>
            <pubDate>Mon, 12 Jan 2026 12:59:34 GMT</pubDate>
            <description><![CDATA[<p>应对“笑面虎”并不困难。</p>
<p><img src="/static/img/605ce2bc8145934d9bcbba0d5f0df7e3.image.webp" alt="image.png"></p>
]]></description>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <p>应对“笑面虎”并不困难。</p>
<p><img src="/static/img/605ce2bc8145934d9bcbba0d5f0df7e3.image.webp" alt="image.png"></p>
<!-- more -->
<p>表面上要与他维持友好的关系，但在暗地里却需保持警惕。</p>
<p>所有与他相关的公事决策和汇报，例如召开会议，都要请来相关人士出席；对于其他公事信息，采取避而不谈的策略。与此同时，<strong>与他的交往应仅限于公事，对于个人隐私和其他人的是非一概守口如瓶</strong>。只要你能做到滴水不漏，他就找不到机会向你下手。</p>
<p><img src="/static/img/c59621ba13f11aaf49bd6725adab819f.image.webp" alt="image.png"></p>
<p>如果你是一名领导者，可能会遇到一些令人厌恶的“笑面虎”下属。他们不会公开与你对抗，而是在有足够多同伙在场时才会对你发起攻击。</p>
<p>在公开场合，他们常常<strong>假装开玩笑</strong>，<strong>但话语中却带有刺刀</strong>。在场的人通常感到不安并发笑。无论你是选择忽略这种攻击、报以笑声，还是针锋相对地反驳，你都可能在大家面前失去面子。</p>
<p>为了维护自己的领导地位，消除他对你地位造成的损害，并<strong>防止未来的攻击</strong>，可以采取以下方法应对他们：</p>
<p><img src="/static/img/e66aec0d085795cec7c326f52a5b5f00.image.webp" alt="image.png"></p>
<ol>
<li><strong>表明你不会容忍他的诽谤</strong>：坚定且平静地声明，你乐于讨论任何合理的批评。</li>
<li><strong>保持轻松语调，明确表达</strong>：面对笑里藏刀者，无需用幽默来掩盖你的敌意。接着，扭转局势，让他把话说得更具体、更明确，以此揭穿他的真面目。要据理力争，而不是消极防守。</li>
<li><strong>私下进行较量</strong>：努力探明他怀有敌意的根源。如果他不愿意说明，可以告诉他，你已经很清楚他一直在攻击你，并要求他停止这样的做法，语调要保持友好。</li>
</ol>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/职场进阶">职场进阶</category>
        </item>
        <item>
            <title><![CDATA[理解自私自利的人：特征与应对策略]]></title>
            <link>http://blog.wilsonzy.cn/post/202</link>
            <guid>http://blog.wilsonzy.cn/post/202</guid>
            <pubDate>Mon, 12 Jan 2026 12:43:40 GMT</pubDate>
            <description><![CDATA[<p>自私的人总是能找到各种理由来<strong>推卸</strong>不属于自己的工作。</p>
<p><img src="/static/img/dee3c524b3729f805b7d473c71ea2394.image.webp" alt="image.png"></p>
]]></description>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <p>自私的人总是能找到各种理由来<strong>推卸</strong>不属于自己的工作。</p>
<p><img src="/static/img/dee3c524b3729f805b7d473c71ea2394.image.webp" alt="image.png"></p>
<!-- more -->
<p>例如，他们可能会说：</p>
<ul>
<li>我处理不了这个任务,</li>
<li>我手上的工作已经很繁重,</li>
<li>我本可以做，但宁愿把机会让给你，让你增加一些工作经验。</li>
<li>在结账时，他们常常和他人斤斤计较，甚至喜欢逐项核对单据。</li>
</ul>
<p>你不要指望他们在你遇到困难时伸出援手。</p>
<p>当他们看到别人犯错时，只会在一旁偷笑，绝不会提醒或帮助他人。</p>
<p>如果有人在你面前<strong>嘲笑</strong>另一个人而毫无自知之明，你就要对这个人保持警惕。尽管这些人的内心只关心自己，<strong>特别注重个人的得失和利益</strong>，但他们有时也会因为利益而全力以赴地工作。</p>
<p><img src="/static/img/501dafcb42c800db4e2f6a047cf50490.image.webp" alt="image.png"></p>
<p>因此，不必对他们抱有过高的期望，也无需期待他们像朋友那样重视情谊。与这类人的交往往只能是一种简单的交换关系：<strong>你付出多少努力，就能收获多少利益，而工作的质量也直接影响回报</strong>。</p>
<p>人们普遍对这种自私自利的人感到厌恶，主要是因为他们常常用<strong>道德标准来衡量他人</strong>，认为这是社会交往的准绳。然而，这种看法难免片面。如果我们将利益作为社会交往的标准，就不必在任何时候都对他们采取“<strong>敬而远之</strong>”的态度。</p>
<p>换个角度来看待这些人，你会发现他们其实常常具备与众不同的优点——<strong>精打细算</strong>。</p>
<p>如果能够通过适当的方式将他们的这一优点运用到合适的地方，他们可能会发挥出巨大的优势。</p>
<p>例如，</p>
<blockquote>
<p>可以让这些自私自利的人负责财务工作，在严格的约束下，他们往往能够成为集体的“守财奴”，这难道不是一件好事吗？</p>
</blockquote>
<p>应对自私自利的人，我们切忌将他们一棍子打入“冷宫”。无论何时，都应以一种“敬而远之”的态度对待他们。</p>
<p><img src="/static/img/f63f241939a53d950a97a8740b0ba13c.image.webp" alt="image.png"></p>
<p>虽然这种人可能令人反感、讨厌，但如果他们并不伤害他人，也算是对其他人损害较小的一类人。而且，他们身上还存在独特的优点，如果能够<strong>引导</strong>他们发挥出来，定能为社会带来可观的效益。</p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/职场进阶">职场进阶</category>
        </item>
        <item>
            <title><![CDATA[如何有效应对傲慢自信者]]></title>
            <link>http://blog.wilsonzy.cn/post/201</link>
            <guid>http://blog.wilsonzy.cn/post/201</guid>
            <pubDate>Sun, 11 Jan 2026 14:55:46 GMT</pubDate>
            <description><![CDATA[<p>清高自傲的人通常非常看重<strong>自身形象</strong>，对自我评价较高，常常感到自我满意。</p>
]]></description>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <p>清高自傲的人通常非常看重<strong>自身形象</strong>，对自我评价较高，常常感到自我满意。</p>
<!-- more -->
<p>与这样的人打交道时，可以采取<strong>迎合他们的方式</strong>，针对其<strong>业绩</strong>、<strong>学识</strong>和<strong>才能</strong>给予实事求是的<strong>赞美</strong>，以满足他们的<strong>荣誉感</strong>和<strong>自尊心</strong>。</p>
<p>这样做可以在心理上拉近距离，同时也能在某种程度上影响他们的态度。</p>
<p>例如，</p>
<blockquote>
<p>有一位性格高傲的处长，普通人很难接近他。他那生硬冷漠的面孔常常让人望而却步。然而，一位外地来的办事员听说了他的脾气，第一次见面时微笑着递上一支烟，说：“处长，我刚进门就听说您是个爽快的人，办事认真，并且富有同情心，特别对外地人的关照让我备感温暖。我一听，立刻高兴了起来，我就爱与这样的领导共事，真痛快！”</p>
</blockquote>
<p>这几句开场白让处长脸上露出了一丝笑容，接下来的谈话果然取得了良好的效果。</p>
<p><img src="/static/img/fba793651332c2edf03b10c331703191.image.png" alt="交流中的微笑与沟通"></p>
<p>一些人因自认为知识渊博、阅历丰富而目空一切，极易产生一种不可一世的傲气。</p>
<p><strong>对付这种傲气者，可以巧妙地设置一个难题，来削弱他们的自负</strong>。</p>
<p>这是因为，尽管他们的知识可能相当广泛，人生经历也颇为丰富，但在这个浩瀚的世界中，<strong>每个人的认知终究是有限的</strong>。</p>
<p>一旦对方意识到自己在某方面存在知识缺陷，他们的傲气自然就会消散。</p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/生活哲学">生活哲学</category>
        </item>
        <item>
            <title><![CDATA[一张图学会买猪肉]]></title>
            <link>http://blog.wilsonzy.cn/post/200</link>
            <guid>http://blog.wilsonzy.cn/post/200</guid>
            <pubDate>Mon, 05 Jan 2026 14:30:50 GMT</pubDate>
            <description><![CDATA[<p>在这张图中，我们为你呈现了一份简单易懂的“<strong>买猪肉指南</strong>”。</p>
]]></description>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <p>在这张图中，我们为你呈现了一份简单易懂的“<strong>买猪肉指南</strong>”。</p>
<!-- more -->
<p><img src="/static/img/409d3801c11bd061bad7b61bb053f44b.image.png" alt="image.png"></p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/生活哲学">生活哲学</category>
        </item>
        <item>
            <title><![CDATA[老婆与车：你心中的真正重要性]]></title>
            <link>http://blog.wilsonzy.cn/post/199</link>
            <guid>http://blog.wilsonzy.cn/post/199</guid>
            <pubDate>Sun, 11 Jan 2026 14:56:55 GMT</pubDate>
            <description><![CDATA[<p>大家都会说“<strong>老婆重要</strong>”，<br>
但这话未免有些<strong>天真</strong>。</p>
]]></description>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <p>大家都会说“<strong>老婆重要</strong>”，<br>
但这话未免有些<strong>天真</strong>。</p>
<!-- more -->
<p>别逗了，<br>
真是骗鬼去吧！</p>
<p><img src="/static/img/7507577ba35a5c20ed70b9a3969dfd17.image.png" alt="保养车"></p>
<p>买车后，<br>
我们会首先给它上保险，<br>
贴膜，进行各种<strong>装饰</strong>，<br>
还会<strong>定期保养</strong>；</p>
<p>可是，<br>
老婆呢？</p>
<p>我们娶回家后，<br>
她每天忙着<strong>做家务</strong>，<br>
还要<strong>生孩子</strong>、<strong>带孩子</strong>。</p>
<p><img src="/static/img/bb6feff9e18287ef03d1bbff2aa1a87c.image.png" alt="做家务的女人"></p>
<p>你有没有想过，<br>
她的<strong>需求</strong>呢？<br>
你带她去“<strong>保养</strong>”了吗？<br>
有没有为她买过<strong>饰品</strong>？<br>
给她上过<strong>保险</strong>吗？</p>
<p>或许，<br>
在这一切中，<br>
我们<strong>该重新审视一下什么才是真正重要的</strong>。</p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/个人成长">个人成长</category>
        </item>
        <item>
            <title><![CDATA[实力与自我价值的思考]]></title>
            <link>http://blog.wilsonzy.cn/post/198</link>
            <guid>http://blog.wilsonzy.cn/post/198</guid>
            <pubDate>Sat, 03 Jan 2026 06:15:33 GMT</pubDate>
            <description><![CDATA[<ol>
<li>你穿得好点，再开辆豪车，是不是欺负你的人就少了，所以<strong>形象一定走在能力前面</strong>，不然的能力容易被低估，先敬罗衣后敬人，先敬皮囊后敬魂。</li>
</ol>
]]></description>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <ol>
<li>你穿得好点，再开辆豪车，是不是欺负你的人就少了，所以<strong>形象一定走在能力前面</strong>，不然的能力容易被低估，先敬罗衣后敬人，先敬皮囊后敬魂。</li>
</ol>
<!-- more -->
<ol start="2">
<li>
<p>你若成功了，吃青菜那叫<strong>养生</strong>；你若失败了，吃青菜则叫<strong>寒酸</strong>。</p>
</li>
<li>
<p>无论什么关系，提供不了<strong>情绪价值</strong>，给不了<strong>经济支持</strong>，也没有<strong>正面陪伴</strong>，三点不占一样，<strong>放弃</strong>才是明智之举。</p>
</li>
</ol>
<p><img src="/static/img/059f28e01ce0a0f1435ca0582034572a.image.png" alt="image.png"></p>
<ol start="4">
<li>
<p>都是小人物，影响不了任何人，也载入不了史册，只要把自己的<strong>生活过滋润</strong>，<strong>一生平安自在就好</strong>。</p>
</li>
<li>
<p>真正的安全感，源于自己<strong>兜里有钱</strong>。别人尊重你不是因为你友善，而是因为你<strong>强大</strong>。傻瓜情绪化高手利益化。</p>
</li>
</ol>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/生活哲学">生活哲学</category>
        </item>
        <item>
            <title><![CDATA[幸福育儿：携手共度的双人修行]]></title>
            <link>http://blog.wilsonzy.cn/post/197</link>
            <guid>http://blog.wilsonzy.cn/post/197</guid>
            <pubDate>Sat, 03 Jan 2026 06:16:42 GMT</pubDate>
            <description><![CDATA[<p>最近很喜欢的一段话：<br>
<strong>养娃是场双人修行</strong></p>
]]></description>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <p>最近很喜欢的一段话：<br>
<strong>养娃是场双人修行</strong></p>
<!-- more -->
<p>你冲奶粉，我换尿布<br>
你辅导作业，我化身童趣玩伴<br>
从初为人母的慌乱，到如今的默契无间<br>
<strong>爱意</strong>悄然藏在深夜交替哄睡的时光里</p>
<p><img src="/static/img/d6f4b3c53f77e632400e11f0f218d1c7.image.png" alt="温馨家庭时光"></p>
<p>别纠结谁付出更多<br>
孩子<strong>纯真的笑容</strong>是我们共同的勋章<br>
偶尔吵架也别慌<br>
只要记得我们是<strong>队友</strong>，不是对手</p>
<p><img src="/static/img/7ab0c12422f3d9960c3f36d2b5f4c939.image.png" alt="父母与孩子的互动"></p>
<p>致并肩作战的你们<br>
最好的家庭教育<br>
就是<strong>爸爸不缺席，妈妈不焦虑</strong><br>
<strong>把平凡日子酿成甜蜜的糖</strong></p>
<p><img src="/static/img/2797a330044197e6725f881cda1f4b20.image.png" alt="幸福家庭的温暖"></p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/个人成长">个人成长</category>
        </item>
        <item>
            <title><![CDATA[社交的知慧，藏在那些没说出口的话里]]></title>
            <link>http://blog.wilsonzy.cn/post/196</link>
            <guid>http://blog.wilsonzy.cn/post/196</guid>
            <pubDate>Sat, 03 Jan 2026 05:58:22 GMT</pubDate>
            <description><![CDATA[<p>读懂潜台词，摸透人情脉络，既能守住分寸不踩坑，也能灵活处世受欢迎，让你在生活和事业少碰壁、多顺遂！</p>
]]></description>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <p>读懂潜台词，摸透人情脉络，既能守住分寸不踩坑，也能灵活处世受欢迎，让你在生活和事业少碰壁、多顺遂！</p>
<!-- more -->
<ol>
<li>对方笑着说：&quot;要不今晚住这儿？&quot;</li>
</ol>
<p>:::note{title=&quot;潜台词&quot;}<br>
天色不早，我准备休息了，你该动身返程了。<br>
:::</p>
<ol start="2">
<li>朋友拍肩说：&quot;改天约你喝两杯。&quot;</li>
</ol>
<p>:::tip{title=&quot;潜台词&quot;}<br>
当下没合适的时间，这话就是<strong>顺嘴的客气</strong>，别盼着具体<strong>邀约</strong>。<br>
:::</p>
<p><img src="/static/img/734871d79c3df18dbcca9ee78e16ff02.image.png" alt="image.png"></p>
<ol start="3">
<li>久不联系的人问：&quot;最近忙不忙？&quot;</li>
</ol>
<p>:::note{title=&quot;潜台词&quot;}<br>
我这儿有件事，铺垫完就该开口麻烦你了。<br>
:::</p>
<ol start="4">
<li>合作方说：&quot;方案我再和团队碰一下&quot;</li>
</ol>
<p>:::tip{title=&quot;潜台词&quot;}<br>
方案没达到预期，基本不会采纳了。<br>
:::</p>
<ol start="5">
<li>领导说：&quot;这事也不能全怪你&quot;</li>
</ol>
<p>:::note{title=&quot;潜台词&quot;}<br>
主要责任就在你，只是给你留了点<strong>面子</strong>。<br>
:::</p>
<ol start="6">
<li>同事说：&quot;有空咱们好好聊聊天&quot;</li>
</ol>
<p>:::tip{title=&quot;潜台词&quot;}<br>
只是随口维系关系，大概率不会真的约时间深谈。<br>
:::</p>
<p><img src="/static/img/b348668ba53d8363ce941565323b4697.image.png" alt="image.png"></p>
<ol start="7">
<li>对方着急说：&quot;我可没别的意思啊&quot;</li>
</ol>
<p>:::note{title=&quot;潜台词&quot;}<br>
就是这个意思，被你看穿了才赶紧<strong>掩饰</strong>。<br>
:::</p>
<ol start="8">
<li>长辈接过礼物说：&quot;来就来，带啥东西&quot;</li>
</ol>
<p>:::tip{title=&quot;潜台词&quot;}<br>
你懂规矩、会来事，这声客气是对你的认可。<br>
:::</p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/生活哲学">生活哲学</category>
        </item>
        <item>
            <title><![CDATA[夜深人静时的思绪挣扎]]></title>
            <link>http://blog.wilsonzy.cn/post/195</link>
            <guid>http://blog.wilsonzy.cn/post/195</guid>
            <pubDate>Sat, 03 Jan 2026 05:29:33 GMT</pubDate>
            <description><![CDATA[<p>如果你晚上根本无法入睡<br>
只有在身体<strong>极限</strong>状态下才能勉强入眠</p>
]]></description>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <p>如果你晚上根本无法入睡<br>
只有在身体<strong>极限</strong>状态下才能勉强入眠</p>
<!-- more -->
<p><img src="/static/img/4f9eccb67ecfa4f989c9549fcb6ea049.image.png" alt="image.png"></p>
<p>你可能会放下手机<br>
却又开始<strong>思考</strong>自己的未来或反复回忆过去的错误决定<br>
尝试了各种方法仍然无法入睡<br>
最终又回到手机上<br>
直到玩累了才会闭上眼睛</p>
<p><img src="/static/img/6ca7add8517b3156b98dfbec29c6305c.image.png" alt="image.png"></p>
<p>在心理学中<br>
<strong>舍不得入睡往往意味着情绪未得到满足</strong><br>
白天的时间被工作和学习占据<br>
几乎没有喘息的余地</p>
<p><img src="/static/img/b85ee2da5e1d60471d7f1670bbeec348.image.png" alt="image.png"></p>
<p>只有到了晚上<br>
这才是属于自己的<strong>片刻时光</strong><br>
舍不得放走这份微薄的自由<br>
只有在此时才能真正为自己而活</p>
<p>更为艰难的是<br>
对第二天并没有期待<br>
心中充满了对即将来临的<strong>挑战</strong>的畏惧</p>
<p><img src="/static/img/95f735a29e498c1f78f96ccfa668c14c.image.png" alt="image.png"></p>
<p>醒来的一瞬间<br>
眼前又是满满的生活难题<br>
令人感到无力应对</p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/心灵探索">心灵探索</category>
        </item>
        <item>
            <title><![CDATA[生活中玄学小妙招]]></title>
            <link>http://blog.wilsonzy.cn/post/194</link>
            <guid>http://blog.wilsonzy.cn/post/194</guid>
            <pubDate>Sat, 03 Jan 2026 05:15:16 GMT</pubDate>
            <description><![CDATA[<p><img src="/static/img/d040fc1186e4d3c13814befe4537add1.image.png" alt="image.png"></p>
<p>拒绝迷信,相信科学</p>
]]></description>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <p><img src="/static/img/d040fc1186e4d3c13814befe4537add1.image.png" alt="image.png"></p>
<p>拒绝迷信,相信科学</p>
<!-- more -->
<h2>1. 欠钱人不还款的处理妙招</h2>
<p>如果有人欠你钱故意不还，教你一个小妙招</p>
<p><img src="/static/img/b7f00c15d2244497b4a6d68f27207a35.image.png" alt="image.png"></p>
<p>准备一张白纸，在纸上写上欠钱人的<strong>名字</strong>和<strong>联系方式</strong>，再准备两个核桃，用白纸包住，把它扔进你家附近的河里，转头就走，不要回头。</p>
<h2>2. 提升运气和气场的小技巧</h2>
<p>如果最近感觉运气和气场不太好,<strong>情绪</strong>有点<strong>低落</strong>,再教你一个小妙招</p>
<p><img src="/static/img/8a525ba853a5d7738f9b94308f9b141e.image.png" alt="image.png"></p>
<p><strong>倒一杯水</strong>,自来水就行,然后往水里吐三口气,用<strong>食指</strong>和<strong>中指</strong>在杯里顺时针<strong>搅动七圈</strong>,然后把手指拿出来,上中下弹三下,做完把水倒掉就行。</p>
<p>不要问为什么,照做就行</p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/生活哲学">生活哲学</category>
        </item>
        <item>
            <title><![CDATA[给未出生宝宝的一封信]]></title>
            <link>http://blog.wilsonzy.cn/post/193</link>
            <guid>http://blog.wilsonzy.cn/post/193</guid>
            <pubDate>Sat, 03 Jan 2026 04:20:09 GMT</pubDate>
            <description><![CDATA[<p><img src="/static/img/93ff8a54600303ae06a9f9e7b4ec4ffc.image.png" alt="image.png"></p>
<p>亲爱的宝宝：</p>
<p>你好!</p>
]]></description>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <p><img src="/static/img/93ff8a54600303ae06a9f9e7b4ec4ffc.image.png" alt="image.png"></p>
<p>亲爱的宝宝：</p>
<p>你好!</p>
<!-- more -->
<p>我是你的爸爸，今天离你出生还有不到 2 个月了。其实一直想写点什么给你，又不知道如何开口，在你快出生前，就写点爸爸的想法吧！</p>
<p>在很早的时候，爸爸就想过，如果成为了一个爸爸会怎么样?<em><strong>我会是一个合格的爸爸吗</strong></em>?当时想的时候心里还有些<strong>惶恐</strong>，觉得自己没能力、也没准备，不敢去承担一个小生命。时光荏苒，现在爸爸和妈妈都已做好了准备，并且<strong>满怀欣喜的等着你的到来</strong>。</p>
<p><img src="/static/img/bcd1f7ee0d9585859d4532f601de5a36.image.png" alt="image.png"></p>
<p>当第 1 次看到试纸上隐隐约约的两条杠，当买了胎心仪在妈妈肚皮上测到你的噗噗心跳，当第 1 次做 B 超看见小小的你，当做四维时候看着你捏紧小拳头抱着头，当喊你宝宝时，你会伸出你的小拳头或小脚丫和我们<strong>互动</strong>.....</p>
<p><strong>怀你的时候妈妈很辛苦</strong>，但是坚强乐观的她<strong>依旧每天很开心</strong>，希望你出生以后也能像妈妈一样<strong>乐观</strong>，每天乐呵呵，做一个爱笑的宝宝。等你出生，妈妈会更辛苦，你可不能欺负妈妈，<strong>爸爸也会一直照顾好妈妈和你</strong>。</p>
<p>爸爸妈妈对你最大的<strong>愿望</strong>便是：</p>
<ul>
<li><strong>健康</strong></li>
<li><strong>平安</strong></li>
<li><strong>快乐</strong></li>
</ul>
<p><strong>我们永远在你身后</strong>，<strong>支持你</strong>、<strong>守护你</strong>、<strong>爱着你</strong>。</p>
<p>爱你的爸爸妈妈!</p>
<p><img src="/static/img/d2d8d79b5898f218fb5894f08784ef64.image.png" alt="image.png"></p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/个人成长">个人成长</category>
        </item>
        <item>
            <title><![CDATA[快乐的秘密：用幽默面对生活的挑战]]></title>
            <link>http://blog.wilsonzy.cn/post/192</link>
            <guid>http://blog.wilsonzy.cn/post/192</guid>
            <pubDate>Sat, 03 Jan 2026 01:42:36 GMT</pubDate>
            <description><![CDATA[<p>● 如果你不开心了</p>
<p><img src="/static/img/fe7ff4356e9416c3ebc797409b91f3d6.image.png" alt="image.png"></p>
]]></description>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <p>● 如果你不开心了</p>
<p><img src="/static/img/fe7ff4356e9416c3ebc797409b91f3d6.image.png" alt="image.png"></p>
<!-- more -->
<p>请用标准普通话，标准普通话，标准普通话朗读一遍下面的内容：<br>
<strong>一百起!</strong></p>
<p>假如生活，豁了你，莫开腔，莫张湿它，<br>
你豆在那儿孤岛，一直孤岛，<br>
嘿起往前拱，豆呛<strong>毛毛虫</strong>嫩个，嘿实板….…</p>
<p><img src="/static/img/f9cb880c13c85f3657801e0c66e0053d.image.png" alt="image.png"></p>
<p>喽实板 ….… 哈起板 ……<br>
总有一天，你豆变成 …… 有刺膀的 ….…偷油婆！<br>
惨起刺膀儿想啷个飞斗啷个飞，</p>
<p>念一遍嘛！<br>
你就会<strong>开心</strong>起来的。</p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/生活琐记">生活琐记</category>
        </item>
        <item>
            <title><![CDATA[生活中的直觉法则]]></title>
            <link>http://blog.wilsonzy.cn/post/191</link>
            <guid>http://blog.wilsonzy.cn/post/191</guid>
            <pubDate>Tue, 30 Dec 2025 11:41:33 GMT</pubDate>
            <description><![CDATA[<p>听从内心的智慧</p>
<p><img src="/static/img/d803460e9a61f004a8fe7f5aa1ce414b.image.png" alt="image.png"></p>
]]></description>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <p>听从内心的智慧</p>
<p><img src="/static/img/d803460e9a61f004a8fe7f5aa1ce414b.image.png" alt="image.png"></p>
<!-- more -->
<ol>
<li>出门若觉得门没锁，别犹豫立即返回，<strong>说不定会躲过一些事情</strong>。</li>
<li>如果到一个地方觉得不舒服，<strong>尽快离开，相信自己的直觉</strong>。</li>
<li>重大决策前夫妻争吵，莫名摔倒要三思，<strong>晚一天再做决定</strong>。</li>
</ol>
<p><img src="/static/img/7bf19dc8219e85b97c99f6568150f660.image.png" alt="image.png"></p>
<ol start="4">
<li>看第一眼就不舒服的人不要合作，<strong>尤其不要合作做生意</strong>。</li>
<li>正想说的要紧事被人打断了就不要再说了，记住对你有好处。</li>
<li>出门遇到小动物拦路尽量改道，如只有一条路，<strong>原地休息10分钟</strong>。</li>
<li>做大事前可以吃顿自己爱吃的，如果感觉味道变了，<strong>马上停手</strong>。</li>
</ol>
<p>刷到这里绝非偶然, 默念一句<br>
<strong>吉星高照, 福生无量!</strong></p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/生活哲学">生活哲学</category>
        </item>
        <item>
            <title><![CDATA[夫妻间的怪定律：亲密关系中的敬畏与沟通]]></title>
            <link>http://blog.wilsonzy.cn/post/190</link>
            <guid>http://blog.wilsonzy.cn/post/190</guid>
            <pubDate>Mon, 29 Dec 2025 14:46:18 GMT</pubDate>
            <description><![CDATA[<p>这就是夫妻间的<strong>怪定律</strong>:<br>
你再厉害,<br>
也教不会自家媳妇任何技能。</p>
<p><img src="/static/img/5394ad3bc12ab6a3b3bbfda20da0e320.image.png" alt="image.png"></p>
]]></description>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <p>这就是夫妻间的<strong>怪定律</strong>:<br>
你再厉害,<br>
也教不会自家媳妇任何技能。</p>
<p><img src="/static/img/5394ad3bc12ab6a3b3bbfda20da0e320.image.png" alt="image.png"></p>
<!-- more -->
<p>开车、打球、职场技巧,<br>
明明话术没错, 十分钟必吵;<br>
可外人说一模一样的话,<br>
她却听得<strong>心甘情愿</strong>。</p>
<p>《论语》早说透:“<strong>远则不逊, 近则不恭</strong>”。<br>
在朝夕相处里,<br>
彼此最邋遢随性的样子都了然于心,<br>
滤镜早被生活磨没,<br>
没了半分敬畏。</p>
<p><img src="/static/img/b05543ca49fbfcacc1e7876d9ded511a.image.png" alt="image.png"></p>
<p>你教她时,<br>
她抵触的从不是<strong>知识</strong>,<br>
而是你下意识摆出的权威感,<br>
让她感到不适应,<br>
也不会相信,<br>
因为你是那样邋遢的人。<br>
而外人教学,<br>
才是纯粹的<strong>干货传递</strong>。</p>
<p>亲近从不是放肆的理由,<br>
再亲密的关系,<br>
也需要留一点<strong>敬畏</strong>与呼吸感。<br>
也不要把陪伴过成说教,<br>
婚姻才能久处不厌。</p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/生活琐记">生活琐记</category>
        </item>
        <item>
            <title><![CDATA[民间谚语的深刻启示]]></title>
            <link>http://blog.wilsonzy.cn/post/189</link>
            <guid>http://blog.wilsonzy.cn/post/189</guid>
            <pubDate>Mon, 29 Dec 2025 14:13:08 GMT</pubDate>
            <description><![CDATA[<p><img src="/static/img/9ba24fd732fb1945a14bddcd73d46318.image.png" alt="image.png"></p>
]]></description>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <p><img src="/static/img/9ba24fd732fb1945a14bddcd73d46318.image.png" alt="image.png"></p>
<!-- more -->
<ol>
<li>夫妻同房之事不要说, 熟人的东西要少买。</li>
<li>穷困时, 莫要入众; 富贵后, 锦衣夜行。</li>
<li>男人头, 不能乱摸; 女人腰, 不能乱搂。</li>
<li>出门不与妻同欢, 女婿不上妻家坟。</li>
<li>上床夫妻下床客, 出了房门不认得。</li>
<li>垃圾不在门前堆, 内衣不在人前挂。</li>
<li>好汉从来不打妻, 好狗从来不咬鸡。</li>
<li>猪来穷, 狗来富, 猫儿来了披孝布。</li>
<li>莫笑他人穿破衣, 十年河东转河西。</li>
<li>娶妻不娶翘臀女, 嫁汉莫嫁弓腰汉。</li>
<li>麻绳专挑细处断, 小人专坑善良人。</li>
<li>人无横财不富, 马无夜草不肥。</li>
<li>久住令人厌, 勤来亲也疏。</li>
<li>老马识路数, 老人通世故。</li>
<li>人穷莫入众, 言轻莫劝人。</li>
<li>女人酒窝深, 男人后面跟。</li>
<li>荒田无人耕, 一耕有人争。</li>
<li>有钱男子汉, 无钱汉子难。</li>
</ol>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/生活哲学">生活哲学</category>
        </item>
        <item>
            <title><![CDATA[真诚的力量：沟通的桥梁]]></title>
            <link>http://blog.wilsonzy.cn/post/188</link>
            <guid>http://blog.wilsonzy.cn/post/188</guid>
            <pubDate>Sun, 28 Dec 2025 13:47:49 GMT</pubDate>
            <description><![CDATA[<p>曾有人在网上提问:<br>
哪种行为最能体现一个人的高情商?</p>
]]></description>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <p>曾有人在网上提问:<br>
哪种行为最能体现一个人的高情商?</p>
<!-- more -->
<p>最高赞的回答只有两个字:<strong>真诚</strong></p>
<p><img src="/static/img/51539152a6c628dca44bf6009ade0567.image.png" alt="image.png"></p>
<p>有些人总是说<br>
为人处世需要<strong>精明</strong><br>
其实<br>
<strong>真诚才是一切良好沟通的基础</strong><br>
是打开他人心门的钥匙</p>
<p>真诚的人<br>
最能打动人心<br>
人与人之间的沟通<br>
最<strong>怕</strong>的就是<strong>掩饰</strong>和<strong>伪装</strong><br>
对他人<strong>坦诚相待</strong><br>
往往<strong>更容易赢得对方的理解和体谅</strong></p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/生活哲学">生活哲学</category>
        </item>
        <item>
            <title><![CDATA[蜕变：在变化中重塑自我]]></title>
            <link>http://blog.wilsonzy.cn/post/187</link>
            <guid>http://blog.wilsonzy.cn/post/187</guid>
            <pubDate>Sun, 28 Dec 2025 13:31:06 GMT</pubDate>
            <description><![CDATA[<p>这个时代的变化比我们想象的更快<br>
我们只有<strong>不断拓宽自己的边界</strong></p>
]]></description>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <p>这个时代的变化比我们想象的更快<br>
我们只有<strong>不断拓宽自己的边界</strong></p>
<!-- more -->
<p>不断丰富自己<br>
更新自己<br>
才能在面对新的<strong>挑战</strong>时更有底气</p>
<p><img src="/static/img/542bbc8ef00e7976b7cd5c990365cd41.image.png" alt="image.png"></p>
<p>改变曾经的自我<br>
<strong>塑造</strong>全新的自我<br>
这是蜕变的过程</p>
<p>这个过程也许很难<br>
但只要你找到<strong>正确的方法</strong>并愿意<strong>付出努力</strong><br>
总能<strong>收获</strong>意想不到的效果</p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/生活哲学">生活哲学</category>
        </item>
        <item>
            <title><![CDATA[走出去，拥抱生活]]></title>
            <link>http://blog.wilsonzy.cn/post/186</link>
            <guid>http://blog.wilsonzy.cn/post/186</guid>
            <pubDate>Sun, 28 Dec 2025 13:22:02 GMT</pubDate>
            <description><![CDATA[<p>人必须出门<br>
必须社交<br>
必须去<strong>体验</strong>不同的事物</p>
]]></description>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <p>人必须出门<br>
必须社交<br>
必须去<strong>体验</strong>不同的事物</p>
<!-- more -->
<p>见各种各样的人<br>
脑子才会<strong>思考</strong><br>
才能感觉到自己是在活着</p>
<p><img src="/static/img/36ee6f851a9d6cea040e141ced23ab7d.image.png" alt="image.png"></p>
<p>不管你出门干啥<br>
哪怕是去咖啡厅里坐着<br>
总之别让自己烂在家里</p>
<p><strong>只有出去</strong><br>
<strong>你的美好灵魂才能呼吸到新鲜空气</strong><br>
只有跟人接触<br>
你的美好肉体才能得以释放它的<strong>魅力</strong></p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/心灵探索">心灵探索</category>
        </item>
        <item>
            <title><![CDATA[山河之美，心灵之诗]]></title>
            <link>http://blog.wilsonzy.cn/post/185</link>
            <guid>http://blog.wilsonzy.cn/post/185</guid>
            <pubDate>Thu, 21 Aug 2025 13:00:59 GMT</pubDate>
            <description><![CDATA[<p><img src="/static/img/d1f8ae1579a8b14130eece52ba779fc3.image.png" alt="image.png"></p>
<p><strong>明月</strong>松间照，<strong>清泉</strong>石上流。</p>
]]></description>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <p><img src="/static/img/d1f8ae1579a8b14130eece52ba779fc3.image.png" alt="image.png"></p>
<p><strong>明月</strong>松间照，<strong>清泉</strong>石上流。</p>
<!-- more -->
<p>从<strong>水光山色</strong>与人亲说不尽无穷好的<strong>山河</strong>之美，<br>
到<strong>大江东去浪淘尽</strong>千古风流人物的<strong>历史</strong>之美，<br>
我们看到连峰去天不盈尺，<br>
<strong>枯松倒挂倚绝壁</strong>的漫漫险途，</p>
<p><img src="/static/img/5aa29faae07716e95883c215ac793d05.image.png" alt="image.png"></p>
<p>从<strong>登高壮观天地间</strong>，<strong>大江茫茫去不还</strong>的慷慨感叹，<br>
到<strong>雄关漫道真如铁，而今迈步从头越</strong>的豪迈自性，<br>
我们看到造物无言却有情，<br>
每于寒尽绝春生延续的无限希望。</p>
<p>从<strong>自在飞花轻似梦</strong>，<strong>无边丝雨细愁</strong>的朦胧缥缈，<br>
到<strong>草木有本心，何求美人折</strong>的高洁优雅。<br>
我们也看到<strong>晓色云开，春随人意骤雨才过还晴</strong>所展现的豁然开朗。</p>
<p><img src="/static/img/16141f0c2afe5f34cb740c1981c48c87.image.png" alt="image.png"></p>
<p>祖国的山河是一幅大美的<strong>画卷</strong>，千言万语道之不尽。<br>
<strong>天平山上白云泉</strong>，云自无心水自闲。<br>
<strong>黄河落天走东海</strong>，万里写入胸怀间。</p>
<p>当你走过名山大川，感叹眼前的无限美景时，<br>
一定要记得找寻镌刻在山水间的<strong>诗意</strong>。</p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/心灵探索">心灵探索</category>
        </item>
        <item>
            <title><![CDATA[随缘而行，心安是道]]></title>
            <link>http://blog.wilsonzy.cn/post/184</link>
            <guid>http://blog.wilsonzy.cn/post/184</guid>
            <pubDate>Thu, 21 Aug 2025 12:42:23 GMT</pubDate>
            <description><![CDATA[<p><img src="/static/img/d1f8ae1579a8b14130eece52ba779fc3.image.png" alt="image.png"></p>
<p>这是我听过最<strong>释怀</strong>的话：</p>
]]></description>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <p><img src="/static/img/d1f8ae1579a8b14130eece52ba779fc3.image.png" alt="image.png"></p>
<p>这是我听过最<strong>释怀</strong>的话：</p>
<!-- more -->
<p><strong>买了</strong>，就不要再去比<strong>价格</strong>。</p>
<p><strong>吃了</strong>也不要后悔。</p>
<p><strong>爱了</strong>，就不要猜疑，</p>
<p><strong>散了</strong>也不要<strong>诋毁</strong>。</p>
<p>所有的一切只不过在为自己的选择<strong>买单</strong>。</p>
<p><img src="/static/img/109640833c124f443d083de700d4e8cd.image.png" alt="image.png"></p>
<p>无论遇见谁，他都是你生命中该出现的人，他一定会教会你一些什么。</p>
<p>所以我也始终相信，无论我走到哪里，都是我该去的地方，</p>
<p>经历该经历的事情，遇见该遇见的人。</p>
<p><strong>有缘走不开，无缘碰不到</strong>，</p>
<p><strong>缘起则去，缘尽则散</strong>。</p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/心灵探索">心灵探索</category>
        </item>
        <item>
            <title><![CDATA[敢于尝试，勇于突破：走出舒适区，发现更好的自己]]></title>
            <link>http://blog.wilsonzy.cn/post/183</link>
            <guid>http://blog.wilsonzy.cn/post/183</guid>
            <pubDate>Thu, 21 Aug 2025 12:44:22 GMT</pubDate>
            <description><![CDATA[<p><img src="/static/img/d1f8ae1579a8b14130eece52ba779fc3.image.png" alt="image.png"></p>
<p>不要怕试，尤其不要怕试错，</p>
<p>只有你去努力的尝试了，</p>
]]></description>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <p><img src="/static/img/d1f8ae1579a8b14130eece52ba779fc3.image.png" alt="image.png"></p>
<p>不要怕试，尤其不要怕试错，</p>
<p>只有你去努力的尝试了，</p>
<!-- more -->
<p>你才能够认识一个可能你以前都没有认识到的<strong>不一样的自己</strong>，</p>
<p>让自己大胆的走出自己觉得很安全和很舒适的那个区域，</p>
<p>而且真的越<strong>年轻</strong>的时候，其实越应该有这个<strong>勇气</strong>。</p>
<p>你没有那么多的抱负，当你还没有拥有太多的时候，</p>
<p><img src="/static/img/b3a8e93c6aaae8aace46a6b965f9e55c.image.png" alt="image.png"></p>
<p>你怕什么失去太多？</p>
<p>你已经拥有很多的时候，同样也可以有勇气去试新的东西，也同样可以<strong>不怕试错</strong>。</p>
<p>在我们认识自己的过程当中，</p>
<p>你就需要用一次又一次的不同的尝试，</p>
<p>去做一面又一面的<strong>镜子</strong>来看自己。</p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/心灵探索">心灵探索</category>
        </item>
        <item>
            <title><![CDATA[关注的“双向奔赴”，我认真了！]]></title>
            <link>http://blog.wilsonzy.cn/post/182</link>
            <guid>http://blog.wilsonzy.cn/post/182</guid>
            <pubDate>Thu, 07 Aug 2025 14:05:09 GMT</pubDate>
            <description><![CDATA[<p>宝子们，今天我做了一件重要的事</p>
]]></description>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <p>宝子们，今天我做了一件重要的事</p>
<!-- more -->
<p>——把<strong>取消关注</strong>我的人一一<strong>清理</strong>了！</p>
<p>【<a href="http://blog.wilsonzy.cn/c/sxrwb"><strong>诚信失信人物榜名单</strong></a>】</p>
<p>回想起当初，我真是满怀诚意，微信群里公众号接龙、@我时，</p>
<p>我从不犹豫地去关注，想着能和大家在这片小天地里热热闹闹地互动。</p>
<p>然而，渐渐地，一些人悄悄取关了我。</p>
<p><img src="/static/img/e50cf22cc5d103662cee020822ca2405.image.png" alt="image.png"></p>
<p>我不清楚是哪里做得不够好，还是内容不对口，但我始终相信“<strong>双向奔赴</strong>”。</p>
<p>既然你选择离开，那我也不勉强，回手取关而已。</p>
<p>关注是一种缘分，更是彼此认可的体现。</p>
<p>我会继续用心做好内容，回报一直支持我的朋友们。</p>
<p>如果将来你觉得我这儿依旧不错，欢迎随时回来。<br>
<img src="/static/img/1ecbb0f42530a3255506977c2da16bb0.image.png" alt="image.png"><br>
接下来，我依然会全力创作，争取为大家带来更多精彩的内容。</p>
<p>也希望留下来的朋友们能给我提更多意见，一起让这里变得更加美好！</p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/生活琐记">生活琐记</category>
        </item>
        <item>
            <title><![CDATA[青春不等人：抓住每一刻，做最好的自己]]></title>
            <link>http://blog.wilsonzy.cn/post/181</link>
            <guid>http://blog.wilsonzy.cn/post/181</guid>
            <pubDate>Thu, 21 Aug 2025 13:01:21 GMT</pubDate>
            <description><![CDATA[<p><img src="/static/img/d1f8ae1579a8b14130eece52ba779fc3.image.png" alt="image.png"></p>
<p>你的未来时刻因为你的努力才发生改变。</p>
<p>未来是怎么来的，未来不是等来的，</p>
]]></description>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <p><img src="/static/img/d1f8ae1579a8b14130eece52ba779fc3.image.png" alt="image.png"></p>
<p>你的未来时刻因为你的努力才发生改变。</p>
<p>未来是怎么来的，未来不是等来的，</p>
<!-- more -->
<p>未来一定是一步一个脚印用自己脚丈量出来，</p>
<p>等是没有用的，得一步一步去做。</p>
<p>所以让我们一步一步走，</p>
<p>去为一个共同的梦想做出我们的努力。</p>
<p><img src="/static/img/c11cd35aabcfaaff35cff67c1404d3b4.image.png" alt="image.png"></p>
<p>当你一天到晚拿着手机，刷着微博，坐在家里宅着看电视，</p>
<p>天天上着网，做着那些80岁以后都能干的事儿，</p>
<p>你要青春干什么呢?</p>
<p>人生是一场马拉松，大家都一堆误出发，谁能坚持到最后才最关键。</p>
<p>对于年轻人来讲，可能没那么快就能做到高端的自律，</p>
<p>因为人的一生就是一个修行的过程，</p>
<p>从任何一个时候你开始发现岁月的可贵，</p>
<p>从那一瞬间开始抓住时间好好的度过自己每一天，</p>
<p>我觉得都不晚，很多优秀的人做的比你还努力，</p>
<p>如果命运是世界上最烂的编剧，你就要争取做你自己人生最好的演员。</p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/心灵探索">心灵探索</category>
        </item>
        <item>
            <title><![CDATA[这段话杀死了我的懒惰]]></title>
            <link>http://blog.wilsonzy.cn/post/180</link>
            <guid>http://blog.wilsonzy.cn/post/180</guid>
            <pubDate>Thu, 07 Aug 2025 12:42:18 GMT</pubDate>
            <description><![CDATA[<p>董宇辉说：当你不想读书的时候，就听一听空瓶子的故事。</p>
]]></description>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <p>董宇辉说：当你不想读书的时候，就听一听空瓶子的故事。</p>
<!-- more -->
<p>一个空瓶子就是1毛，装上水值1块，装上饮料值2块，装上牛奶值10块，装上酒水值100块。</p>
<p>同理：我们大脑也是如此，<strong>书读多了就变得价值连</strong>城。</p>
<p>如果不读书，只是玩游戏，看没营养的东西，那么大脑就<strong>一文不值</strong>。</p>
<p><img src="/static/img/9ade1839c316905ef78b46720dc6d0be.image.png" alt="image.png"></p>
<p>一个空瓶子初看时毫不起眼，然而随着承载的内容不同，价值便会发生翻天覆地的变化。</p>
<p>读书，能让你看到更广阔的世界；</p>
<p>不读书，只会让你困在眼前的狭小世界。</p>
<p>读书不是唯一的出路，但它打开了许多人生的可能性。</p>
<p><strong>读书和赚钱，是人生最好的修行</strong>——前者让你明智，后者让你自尊。</p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/生活琐记">生活琐记</category>
        </item>
        <item>
            <title><![CDATA[你的形象价值百万]]></title>
            <link>http://blog.wilsonzy.cn/post/179</link>
            <guid>http://blog.wilsonzy.cn/post/179</guid>
            <pubDate>Fri, 27 Jun 2025 13:22:46 GMT</pubDate>
            <description><![CDATA[<p>形象一定要走在能力前面，否则你的能力很容易被低估。</p>
]]></description>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <p>形象一定要走在能力前面，否则你的能力很容易被低估。</p>
<!-- more -->
<p>不管做什么，给人第一眼的永远是形象，一个好的形象会给自己加分。</p>
<p><img src="/static/img/939c701426209b5a8a2b407e944b2b27.image.png" alt="image.png"></p>
<p>都说这是一个两分钟的社会，你要用一分钟给别人留个好印象，再用一分钟让别人知道你是谁。</p>
<p>所以，<strong>形象是最直观的门面</strong>。而能力则需要一定的时间。</p>
<p>吉语压君子、衣冠镇小人。</p>
<p><strong>身上无衣被人欺，肚里无识无人知</strong>。</p>
<p>先敬罗衣后敬人，先敬皮囊后敬魂。</p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/生活哲学">生活哲学</category>
        </item>
        <item>
            <title><![CDATA[这才是你该有的样子]]></title>
            <link>http://blog.wilsonzy.cn/post/178</link>
            <guid>http://blog.wilsonzy.cn/post/178</guid>
            <pubDate>Wed, 25 Jun 2025 13:11:24 GMT</pubDate>
            <description><![CDATA[<p>在这个喧嚣浮躁的社会浪潮里，我们时常会陷入迷茫：如何才能在坚守自我的同时，于关键时刻绽放出内心的强大力量？</p>
]]></description>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <p>在这个喧嚣浮躁的社会浪潮里，我们时常会陷入迷茫：如何才能在坚守自我的同时，于关键时刻绽放出内心的强大力量？</p>
<!-- more -->
<p>这是一场关于自我雕琢与人生航向的探索。</p>
<h3>“摸鱼”有度，拒绝“摆烂”</h3>
<p>你可以忙里偷闲，避开内卷的汹涌暗流，享受生活里那一抹闲适悠然。</p>
<p><img src="/static/img/2f5e81c40099b65e3b682e37ee8ab1c4.image.png" alt="image.png"></p>
<p>但要铭记，<strong>生活并非全是安逸与逃避</strong>。当命运将你推上舞台中央，让你独自扛起责任时，你必须有令人惊叹的表现。</p>
<p>“摸鱼”是生活的调味剂，而“很菜”则是不可取的自我放逐。平日里，我们应如勤勉的工匠，不断积累、学习、成长，做“强者中的隐者”。<strong>即便偶尔放松懈怠，也要守住内心的那份强大</strong>。</p>
<h3>内向不“哑”，静水流深</h3>
<p>世间人各有性，有人外向健谈，有人沉静内敛。也许你不喜热闹的聚会，不善在众人前展现自己，这并无大碍。</p>
<p>但当机遇来临，你站在舞台之上，一定要勇敢从容，释放自己的光芒。<strong>内向之人可以低调，但不能沉默无声</strong>。沉静并非无力，而是一种深沉内敛的力量，是潜藏于心底的坚韧。</p>
<p>内向而不失灵动，于安静中蕴含非凡之力，这才是你该有的模样。</p>
<p><img src="/static/img/6fb8f49384d20627aa3322a0a10ab030.image.png" alt="image.png"></p>
<h3>君子内敛，绝非懦弱</h3>
<p>社会常对我们有“完美”的期待，过于内敛者易被误作懦弱、缺乏主见。实则真正的君子深谙内敛之道，而非懦弱退缩。</p>
<p><strong>内敛是一种智慧</strong>，能让我们在荣耀加身时保持清醒，明辨是非；而懦弱则是逃避现实，是对生活的不负责。</p>
<p>面对不公，我们要敢于发声；<strong>遭遇困难，我们要奋勇向前</strong>。你的力量并非源于他人的评判，而是来自内心的笃定与自信。</p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/生活琐记">生活琐记</category>
        </item>
        <item>
            <title><![CDATA[自我拯救，才是真正的力量]]></title>
            <link>http://blog.wilsonzy.cn/post/177</link>
            <guid>http://blog.wilsonzy.cn/post/177</guid>
            <pubDate>Wed, 25 Jun 2025 12:58:22 GMT</pubDate>
            <description><![CDATA[<p>能将你从谷底中拉出来的，从来不是时间，而是你心中的格局与内心的释怀。</p>
]]></description>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <p>能将你从谷底中拉出来的，从来不是时间，而是你心中的格局与内心的释怀。</p>
<!-- more -->
<p>这个世界上，始终没有人能完全感同身受。</p>
<p>你可以消沉，可以抱怨，甚至可以崩溃，但最重要的是学会自我修复。</p>
<p>无论是无人问津，还是技不如人，你都应该学会沉下心来，专注于自己的事情，而不是让内心的烦躁、焦虑摧毁你那本不多的热情和定力。</p>
<p><img src="/static/img/ef5b0b16ee0db697c64506bd994891ba.image.png" alt="image.png"></p>
<p>要明白，真正能撑起你的人生的是：<strong>丰富的知识储备、坚实的经济基础、持续的情绪稳定、可控的生活节奏，以及那个永远不会被打败的自己</strong>。</p>
<p>昨日的深渊，今日的谈笑风生。</p>
<p><strong>路虽远，行则必至</strong>；</p>
<p><strong>事虽难，做则可成</strong>。</p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/生活哲学">生活哲学</category>
        </item>
        <item>
            <title><![CDATA[沉下心，磨练自己]]></title>
            <link>http://blog.wilsonzy.cn/post/176</link>
            <guid>http://blog.wilsonzy.cn/post/176</guid>
            <pubDate>Wed, 25 Jun 2025 12:45:37 GMT</pubDate>
            <description><![CDATA[<p>人生最大的对手，往往是自己。</p>
]]></description>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <p>人生最大的对手，往往是自己。</p>
<!-- more -->
<p>沉下心来，不断磨练自己，远比仰望他人的光辉更有意义。</p>
<p>生活中难免会遭遇风浪和不如意，但脱离困境的钥匙其实就在我们自己手中。</p>
<img src="/static/img/085601f55fed6697a682d4138a33781a.image.png" width="320" height="200" />  
<p>强者之所以强，是因为他们敢于直面挑战，持续提升自己，精进不止。</p>
<p>别让懒惰主宰你的生活，别再让时光荒废。</p>
<p>去钻研你感兴趣的领域，主动迎接每一个挑战。</p>
<p>当你不断突破自我，你距离理想中的人生便更近了一步。</p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/生活哲学">生活哲学</category>
        </item>
        <item>
            <title><![CDATA[困于工厂：漂泊无根之打工人生]]></title>
            <link>http://blog.wilsonzy.cn/post/175</link>
            <guid>http://blog.wilsonzy.cn/post/175</guid>
            <pubDate>Tue, 24 Jun 2025 12:43:21 GMT</pubDate>
            <description><![CDATA[<p>人作为社会性生物，本应在广阔天地绽放光彩。</p>
<p>但许多大学毕业生进入工厂后，生活被困在无形牢笼，满是自卑与绝望。</p>
]]></description>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <p>人作为社会性生物，本应在广阔天地绽放光彩。</p>
<p>但许多大学毕业生进入工厂后，生活被困在无形牢笼，满是自卑与绝望。</p>
<!-- more -->
<p><img src="/static/img/051308697b2a204f8dcda4718e8df609.image.png" alt="image.png"></p>
<p>从大学象牙塔来到工厂，生活空间大幅压缩，工厂、出租屋、超市构成日常。</p>
<p>上班、睡觉、采购必需品，日子单调重复。</p>
<p>社交圈局限于同事，打牌、喝酒是主要社交活动，大家无力改变现状，也无法为彼此争取权益。</p>
<img src="/static/img/ea20b8e76b1b76e21ca2ae81c7a34577.image.png" width="60%" height="30%" />
<p>换工作意味着与旧人断联，一切重新开始。</p>
<p>打工者如同无锚之舟，难以融入城市，在本地人眼中始终是过客。</p>
<p>工厂虽有“福利”，工作服省去穿衣烦恼，食堂餐能饱腹，宿舍可省钱，</p>
<p>但工作服质量一般，餐食劣质，宿舍多人合住无隐私，租房条件也差，空调等电器成奢侈品。</p>
<p><img src="/static/img/f4d53bc44ad63d697e43107ebee2d25e.image.png" alt="image.png"></p>
<p>这样的生活何时是尽头？</p>
<p>是继续挣扎，还是能找到出路？</p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/生活琐记">生活琐记</category>
        </item>
        <item>
            <title><![CDATA[有效沟通技巧：如何在不同观点中达成共识]]></title>
            <link>http://blog.wilsonzy.cn/post/174</link>
            <guid>http://blog.wilsonzy.cn/post/174</guid>
            <pubDate>Mon, 09 Jun 2025 13:41:05 GMT</pubDate>
            <description><![CDATA[<p><strong>沟通不仅仅是表达自己的观点，更重要的是理解与接纳他</strong>人。特别是在观点不一致时，如何有效沟通，不仅考验情商，还决定了我们是否能建立良好的关系。那如何在意见不合时有效沟通呢？</p>
]]></description>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <p><strong>沟通不仅仅是表达自己的观点，更重要的是理解与接纳他</strong>人。特别是在观点不一致时，如何有效沟通，不仅考验情商，还决定了我们是否能建立良好的关系。那如何在意见不合时有效沟通呢？</p>
<!-- more -->
<p><img src="/static/img/154f998cc4fd55c85ff642bcd4e7ee29.image.png" alt="image.png"></p>
<h2>倾听：尊重他人</h2>
<p>当观点不同，第一步是<strong>倾听</strong>。我们常常急于反驳，结果只会加剧对立。倾听能够让对方感受到尊重和理解，从而缓解紧张氛围，帮助我们更好地理解对方的立场。通过倾听，我们既能获取更多信息，又能让对方感受到被理解。</p>
<h2>适当的赞同：避免反驳</h2>
<p>当面对不同或错误的观点时，直接<strong>反驳往往会引发争执</strong>。相反，适当赞同对方的一部分观点，有助于建立共识。这并不是放弃自己的立场，而是通过认同部分观点，营造平和的氛围，更容易推动双方的沟通。</p>
<p><img src="/static/img/e5fc603b16806fd5887dc9d8bcc73728.image.png" alt="image.png"></p>
<h2>分享：循序渐进</h2>
<p>倾听和赞同之后，接下来是分享我们的观点。分享时，要避免急于表达，而是逐步阐述自己的立场和观点形成的原因。这样可以<strong>减少对方的抵触情绪</strong>，促进彼此的<strong>理解</strong>，并找到共同点，减少分歧。</p>
<h2>良好的沟通态度：沟通从态度开始</h2>
<p><strong>沟通的态度至关重要</strong>。如果带着<strong>对立情绪去沟通</strong>，任何话语都会引起<strong>反感</strong>。反之，带着开放、包容的心态去理解对方，并表达自己想法，沟通就会更加顺畅。积极的态度能营造和谐的沟通氛围，促进更深层次的交流。</p>
<p><img src="/static/img/5f937b166df0b101b9d62cefd71584bc.image.png" alt="image.png"></p>
<p>沟通是建立理解和信任的桥梁，尤其在观点不合时，需要我们付出耐心与智慧。通过倾听、适当赞同、循序渐进地分享，并保持积极的沟通态度，我们能有效克服分歧，达成共识，实现更高效的互动。记住，<strong>沟通不一定要认同对方，但一定要相互理解与分享</strong>。</p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/职场进阶">职场进阶</category>
        </item>
        <item>
            <title><![CDATA[搭建ZeroNews，解锁NAS中的惊喜宝藏]]></title>
            <link>http://blog.wilsonzy.cn/post/173</link>
            <guid>http://blog.wilsonzy.cn/post/173</guid>
            <pubDate>Wed, 25 Jun 2025 13:15:54 GMT</pubDate>
            <description><![CDATA[<h2>什么是 ZeroNews？</h2>
<p>ZeroNews 是一款功能强大的<strong>内网穿透</strong>工具，它可以帮助您轻松地建立一条安全稳定的内外网通信通道。即使您的设备没有公网 IP 地址，也可以通过 ZeroNews将您的内网服务暴露到公网，实现随时随地访问。关键的是目前全部功能都是免费的，而且提供了4Mbps的带宽，个人使用完全可以满足。</p>
]]></description>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <h2>什么是 ZeroNews？</h2>
<p>ZeroNews 是一款功能强大的<strong>内网穿透</strong>工具，它可以帮助您轻松地建立一条安全稳定的内外网通信通道。即使您的设备没有公网 IP 地址，也可以通过 ZeroNews将您的内网服务暴露到公网，实现随时随地访问。关键的是目前全部功能都是免费的，而且提供了4Mbps的带宽，个人使用完全可以满足。</p>
<!-- more -->
<p><img src="/static/img/8ec963d79accaae11b98f8bad0e36a73.image.png" alt="image.png"></p>
<h2>为何选择ZeroNews？</h2>
<ul>
<li><strong>无需公网IP</strong>：轻松绕过运营商的限制，即使是新手小白，也能快速上手，轻松搭建。</li>
<li><strong>多协议支持</strong>：全面覆盖HTTP、HTTPS、TCP协议，支持远程桌面操作、文件共享以及视频监控等需求，完美应对。</li>
<li><strong>金融级加密</strong>：采用TLS/SSL传输以及TLS加密技术，为数据安全保驾护航，稳如磐石。</li>
<li><strong>免费版畅用</strong>：免费版提供1Mbps带宽，满足日常基本需求；付费版支持更高带宽和专属节点，适合进阶用户。</li>
</ul>
<h2>NAS配置教程</h2>
<h3>安装Docker套件</h3>
<ul>
<li>登录群晖后台，进入“套件中心”。</li>
<li>搜索并安装<code>Container Manager</code>（原Docker），它是群晖用户的必备工具。</li>
</ul>
<p><img src="/static/img/6804cef788d16e9e50c42f256fbd6feb.image.png" alt="image.png"></p>
<h3>下载ZeroNews镜像</h3>
<ul>
<li>win10系统 用win+R键，打开运行窗口，输入CMD</li>
</ul>
<p><img src="/static/img/42f6ed3faa9a93f9b3d796e8d1eb5d89.image.png" alt="image.png"></p>
<ul>
<li>登陆群晖</li>
</ul>
<p>输入 ssh 管理员用户名@群晖局域网IP</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code>ssh admin@192.168.0.150  <span class="hljs-comment">#admin是管理员用户名</span>
</code></pre>
<p>回车输入admin的密码（不会显示）</p>
<ul>
<li>获取root权限</li>
</ul>
<p>再输入sudo -i，再次输入群晖admin密码，获取root权限</p>
<ul>
<li>下载ZeroNews镜像</li>
</ul>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code>docker pull docker.1ms.run/zeronews/zeronews
</code></pre>
<h3>生成Token</h3>
<ul>
<li>登录ZeroNews官网，在设备菜单中生成Token</li>
</ul>
<p><img src="/static/img/e3ed5d4f1df50e31cdf656f401e2b061.image.png" alt="image.png"></p>
<h3>配置容器</h3>
<ul>
<li>
<p>返回Docker，创建新容器，选择镜像 <code>zeronews/zeronews</code><br>
<img src="/static/img/fa954866b84ec8099a4185afb8697692.image.png" alt="image.png"></p>
</li>
<li>
<p>并设置网络为“与Docker Host相同的网络”</p>
</li>
</ul>
<p><img src="/static/img/9c532c8156d6ae38972c0072799f328b.image.png" alt="image.png"></p>
<ul>
<li>在 &quot;常规设置&quot; 页面，勾选 &quot;启用自动重新启动&quot;</li>
</ul>
<p><img src="/static/img/2ab4d5e732744f315568f53156834d70.image.png" alt="image.png"></p>
<ul>
<li>使用DSM自带的File Station 新建 <code>zeronews</code> 文件夹</li>
</ul>
<p><img src="/static/img/fb3fdb54f203f2b57f6c7a19cf8421fe.image.png" alt="image.png"></p>
<ul>
<li>将获取的Token 输入到容器环境变量里</li>
</ul>
<p><img src="/static/img/0fade99f5e8cc486be9fbf64006018d2.image.png" alt="image.png"></p>
<ul>
<li>添加zeronews 配置文件挂载目录 装载路径中，输入 <strong>/etc/zeronews</strong></li>
</ul>
<p><img src="/static/img/49fbec85ea9b07a2c76caf9d5082a358.image.png" alt="image.png"></p>
<h3>配置公网域名</h3>
<ul>
<li>在ZeroNews平台添加域名</li>
</ul>
<p><img src="/static/img/9fb24a516f873aeaf06557f628e8709c.image.png" alt="image.png"></p>
<h3>映射端口</h3>
<ul>
<li>创建群晖应用映射，配置如下：
<ul>
<li><strong>协议</strong>：可选择HTTP或HTTPS。</li>
<li><strong>公网访问地址</strong>：选择已添加的域名。</li>
<li><strong>内网映射地址</strong>：填写 <code>192.168.0.150</code>，端口为 <code>8023</code>。</li>
</ul>
</li>
</ul>
<p><img src="/static/img/8e51f84f826637cb77c1614c9db560b8.image.png" alt="image.png"></p>
<h3>体验</h3>
<p>在浏览器中输入生成的域名https://vb4rwtp6xu.by.takin.cc<br>
<a href="https://vb4rwtp6xu.by.takin.cc/">Demo体验</a></p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/创意灵感">创意灵感</category>
        </item>
        <item>
            <title><![CDATA[用NAS打造专属“爱情小窝”！]]></title>
            <link>http://blog.wilsonzy.cn/post/172</link>
            <guid>http://blog.wilsonzy.cn/post/172</guid>
            <pubDate>Wed, 25 Jun 2025 13:15:54 GMT</pubDate>
            <description><![CDATA[<p>嘿，宝子们！5.20即将来临，是时候给你的另一半准备一个与众不同的惊喜啦！今天要给大家安利一款超适合送给老婆的“宝藏项目”——<strong>like-girl-v520</strong>。</p>
<p>这不只是一个简单的情侣应用，它是为情侣们量身定制的“<strong>爱情小窝</strong>”，类似QQ情侣空间，但功能更强大、更有趣。</p>
]]></description>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <p>嘿，宝子们！5.20即将来临，是时候给你的另一半准备一个与众不同的惊喜啦！今天要给大家安利一款超适合送给老婆的“宝藏项目”——<strong>like-girl-v520</strong>。</p>
<p>这不只是一个简单的情侣应用，它是为情侣们量身定制的“<strong>爱情小窝</strong>”，类似QQ情侣空间，但功能更强大、更有趣。</p>
<!-- more -->
<p>你和TA可以在这里记录生活中的<strong>甜蜜瞬间</strong>，上传各种美美的合照、旅行照片，甚至是你们的小心情。它还能帮助你们制定情侣计划，一起规划未来的美好生活，简直就是给你们的爱情加了导航仪！留言板功能也很有趣，朋友们都能来这里为你们送上祝福。对于我们这些理工男来说，这可不仅是个记录爱情的工具，它更是科技与浪漫的完美结合，简直甜到心坎里！</p>
<h2>项目介绍</h2>
<p><strong>like-girl-v520</strong>官网有<strong>开源版</strong>和<strong>付费版</strong>两种选择。</p>
<ul>
<li><a href="https://lovey.kikiw.cn/">开源版Demo预览</a></li>
<li><a href="https://loveli.kikiw.cn/">付费版Demo预览</a></li>
</ul>
<p>开源版已经够强大，满足大部分情侣需求；而付费版则提供更多额外功能，包括小程序、程序源码、技术支持和自动更新，相当于为你们的爱情加装了“豪华升级包”，售价仅为298.88元。虽然298块买不了大牌礼物，但能帮你们打造一个专属于你们的小站，意义远超那些传统的花束、巧克力吧？</p>
<p><img src="/static/img/26416c78e4dc7619958c7b05e0aae36b.image.png" alt="image.png"></p>
<h2>什么是NAS？</h2>
<p>首先，来给大家科普一下<strong>NAS</strong>（网络附加存储）。简单来说，NAS就是一个功能强大的网络硬盘，它将多个硬盘结合起来，形成一个安全的存储中心。你可以通过家庭网络或互联网随时访问里面的文件、照片、视频，极其方便。相较于传统硬盘和U盘，NAS的优势在于：灵活、安全、容量大，而且可以随时访问，完全满足个人或家庭的存储需求。</p>
<p><img src="/static/img/d445ff8aba6cab3850a4f3461ff81a5b.image.png" alt="image.png"></p>
<h2>为什么用NAS记录爱情故事？</h2>
<p>爱情里那些美好的瞬间，真的是值得珍藏一辈子。比如第一次见面时紧张的小心情，第一次约会时的害羞，生日惊喜时的开心，还有每次旅行中的独特回忆。无论是文字、照片还是视频，都是你们爱的见证。而NAS为何特别适合用来保存这些珍贵的回忆呢？因为它具备以下几大优势：</p>
<ul>
<li>
<p><strong>安全有保障</strong>：爱情故事往往带着许多小秘密，不想被外人窥探。NAS就像一个上了锁的保险箱，可以设置密码和加密保护你的隐私，确保没有人能随便翻看。</p>
</li>
<li>
<p><strong>随时随地回顾</strong>：无论你是忙碌的工作中，还是在远方旅行，只要有网络，就可以打开NAS，回顾你们的点滴爱意。那些照片、视频、留言，瞬间让你重温甜蜜的时刻。</p>
</li>
<li>
<p><strong>海量存储，无忧无虑</strong>：NAS的容量足够大，不用担心照片、视频或者文字记录不下所有的爱。它就像一个巨大的宝库，能收藏你们的每一份心意。</p>
</li>
<li>
<p><strong>分享便捷</strong>：想和亲朋好友分享你们的幸福吗？NAS支持多人共享，并且比传统云存储更私密、更有个性，给你们的爱情一个独特的展示空间。</p>
</li>
</ul>
<h2>如何用NAS记录你们的爱情故事？</h2>
<ul>
<li>使用<strong>群晖NAS</strong>为例</li>
</ul>
<h3>安装Web Station 和 PHP</h3>
<p>首先，在群晖的“套件中心”中找到 Web Station 直接点击“安装套件”<br>
<img src="/static/img/7c1a3a5c8acfc4909c06c7c014dcda44.image.png" alt="image.png"></p>
<p>安装打开后，点击 PHP7.3后面的一个箭头，就会跳转到PHP的安装页面，直接安装即可</p>
<p><img src="/static/img/0b9da230ff81ce15e79ea0fb38be56d1.image.png" alt="image.png"><br>
<img src="/static/img/d6133708150c9150690b0e5459bb8a85.image.png" alt="image.png"></p>
<h3>配置PHP</h3>
<p>如下图所示，可以勾选需要自定义的PHP的扩展，或者其他的配置项</p>
<p><img src="/static/img/0ea7a48eb411ec002815ae64a925596b.image.png" alt="image.png"></p>
<h3>设置Web服务</h3>
<ul>
<li>配置新站点（虚拟主机）<br>
打开 Web Station，进入：网络门户 --&gt; 新增</li>
</ul>
<p><img src="/static/img/7060d2fee9cc2edd0ebd15d16c8e4362.image.png" alt="image.png"><br>
<img src="/static/img/6d1a19d52981e5ba20aa61bbdf0a1a69.image.png" alt="image.png"></p>
<p>设置站点根目录</p>
<p><img src="/static/img/3477f21eb14282682f4e578aecbf359b.image.png" alt="image.png"><br>
配置访问端口</p>
<p><img src="/static/img/6cb6415209d6881345fd80f054e314fd.image.png" alt="image.png"></p>
<h3>管理网站文件</h3>
<ul>
<li>下载<a href="https://gitee.com/kiCode111/like-girl-v5.2.0">项目源码</a></li>
<li>修改数据库配置：like-girl-v5.2.0/admin/Config_DB.php</li>
</ul>
<p><img src="/static/img/7caa3baa2ee839c0df93d8cf1a1e315a.image.png" alt="image.png"></p>
<ul>
<li>上传网站文件<br>
使用DSM自带的File Station或通过FTP，将你的网站文件上传到之前指定的根目录<br>
<img src="/static/img/f83bff21b5bbf96cc3a81a9fdcef0220.image.png" alt="image.png"></li>
<li>设置文件权限<br>
确保上传的文件和文件夹有合适的权限，通常web目录及其子目录需要设置为<strong>可读写</strong>权限，以便Web服务可以正确访问和执行这些文件。</li>
</ul>
<p><img src="/static/img/b562a2c10d005d4a8aaf1ddf03f2b5fe.image.png" alt="image.png"></p>
<h3>配置数据库</h3>
<ul>
<li>安装MariaDB</li>
</ul>
<p><img src="/static/img/700eedd428d486b3083661505b674645.image.png" alt="image.png"></p>
<p>安装完成后会提示你输入root账户的密码，然后打开，勾选“启用TCP/IP连接”，如果不勾选，无法远程连接</p>
<p><img src="/static/img/3cc4e0404290da65a3c0a7c277c74545.image.png" alt="image.png"></p>
<ul>
<li>
<p>安装phpMyAdmin<br>
安装后打开  输入root 账号和密码 远程连接到数据库<br>
<img src="/static/img/d499dba3ecf7efb2ac65c6546c673e1b.image.png" alt="image.png"></p>
</li>
<li>
<p>修改权限<br>
进入：账户 ---&gt; root ---&gt; 修改权限</p>
</li>
</ul>
<p><img src="/static/img/6eb921dbda26fcb1724070a8b8424496.image.png" alt="image.png"></p>
<p><img src="/static/img/76599f3f007d49969558bc6cc94ed910.image.png" alt="image.png"></p>
<p><img src="/static/img/2a991d80b439a21f3a8210c567d0ad85.image.png" alt="image.png"></p>
<h3>导入数据库</h3>
<p>新建一个 love 数据库<br>
将数据库文件导入到 love数据库中</p>
<ul>
<li><code>LikeGirl v5.2.0 AllData</code> 为带默认数据的SQL文件</li>
<li><code>LikeGirl v5.2.0 Purity</code> 为纯净版数据的SQL文件<br>
<img src="/static/img/1ec0812fef7b74c50f665c6b3dbe4539.image.png" alt="image.png"></li>
</ul>
<h3>体验</h3>
<p>通过浏览器打开 http://&lt;nas-ip&gt;:8023即可打开情侣小站啦</p>
<p><img src="/static/img/627788f65b2cb41ecd315b75f04ce8a0.image.png" alt="image.png"></p>
<p>登陆管理后台，打开http://&lt;nas-ip&gt;:8023/admin/login.php打开后台登陆窗口</p>
<p><img src="/static/img/146b1139b38bfcb0542a7485a45a9296.image.png" alt="image.png"></p>
<p>通过默认用户名密码：<strong>admin/loveww</strong> 登陆</p>
<p><img src="/static/img/5fd50f1b40f5ccd96de1cefe00ab4a6c.image.png" alt="image.png"></p>
<h2>让爱情与科技携手共舞</h2>
<p>在这个数字化的时代，NAS不再仅仅是一个存储工具，它已经变成了你们爱情故事的<strong>梦幻城堡</strong>。它为你们提供了一个安全、私密的空间，能让你们保存并回味曾经的每一份甜蜜。通过NAS，你们可以把过去的美好时光锁在一个魔法盒子里，还能为未来的爱情铺下甜蜜的种子。</p>
<p>所以，宝子们，赶紧用科技的力量，把你们的爱情故事好好珍藏，让它成为你们今后生活中的温暖回忆吧！</p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/创意灵感">创意灵感</category>
        </item>
        <item>
            <title><![CDATA[闲，不等于自由，过度的闲才是自我毁灭]]></title>
            <link>http://blog.wilsonzy.cn/post/171</link>
            <guid>http://blog.wilsonzy.cn/post/171</guid>
            <pubDate>Tue, 03 Jun 2025 02:05:23 GMT</pubDate>
            <description><![CDATA[<p>在现代社会，人们常说“<strong>忙碌的生活才有意义</strong>”，但闲暇对人究竟意味着什么，却少有人深思。</p>
<p>“<strong>废掉一个人最快的方式，就是让他一直闲着。</strong>”这句话虽直白，却揭示了过度闲散这一现代生活的隐患。</p>
]]></description>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <p>在现代社会，人们常说“<strong>忙碌的生活才有意义</strong>”，但闲暇对人究竟意味着什么，却少有人深思。</p>
<p>“<strong>废掉一个人最快的方式，就是让他一直闲着。</strong>”这句话虽直白，却揭示了过度闲散这一现代生活的隐患。</p>
<!-- more -->
<p><strong>闲本是福气，可太闲却是灾难</strong>。很多人追求的“闲”，不过是暂时逃避工作压力与生活琐事，看似自由无忧，实则是潜在陷阱。</p>
<p><img src="/static/img/350be0f2af2544c37f0da3bbb13e4b69.image.png" alt="image.png"></p>
<p>古话说：“<strong>闲能养生，忙能健体</strong>。”适度的闲能让人休息，但毫无节奏的过度闲散，会带来诸多负面后果。大脑会变迟钝、思维会变迟缓，人还会产生焦虑与无力感，“无所事事”的生活将剥夺自我成长的机会。</p>
<p>人生犹如齿轮，只有不断转动，才能保持灵活。那些总闲着的人，思维会逐渐麻木，对未来失去激情。因为生活缺少挑战与刺激，内心动力和外部机会也会越来越少。当我们忙于工作、学习和追求目标时，不仅在完成任务，更是在保持自我发展的动力。每一次努力都让我们离目标更近，而<strong>长期闲散，就像久未转动的齿轮，会生锈、无法运转</strong>。</p>
<p><img src="/static/img/a66f25566d2e0db9c0ccda9a4b2f1d5f.image.png" alt="image.png"></p>
<p>过度闲散就像闲置太久的机器，零部件会因缺乏摩擦力而生锈。人也一样，闲久了会失去对生活的热情与动力，内心空虚，时间流逝却毫无收获。这是一种潜移默化的自我摧毁，短期内或许觉得放松，时间一长，便会陷入消极焦虑。</p>
<p>“<strong>人生之路，不进则退</strong>。”这并非要我们日夜不停奔跑，而是提醒我们停滞不前没有未来。若现在偷懒享受“闲暇”，未来可能无法适应生活变化，变得无所适从。</p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/心灵探索">心灵探索</category>
        </item>
        <item>
            <title><![CDATA[如何摆脱“学不下去”？五步提升学习效果]]></title>
            <link>http://blog.wilsonzy.cn/post/170</link>
            <guid>http://blog.wilsonzy.cn/post/170</guid>
            <pubDate>Sun, 01 Jun 2025 04:48:51 GMT</pubDate>
            <description><![CDATA[<p>嘿，宝子们！在现在这个社会啊，<strong>学习就像是个永远填不满的大坑</strong>，感觉咋学都没个头。不管是学新技能，还是复习老知识，咱总会碰到那种“我学不下去啦”的抓狂时刻。想象一下，你坐在书桌前，眼睛直勾勾地盯着书或者屏幕，可脑子却像脱缰的野马，根本没法好好学，这谁懂啊！</p>
]]></description>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <p>嘿，宝子们！在现在这个社会啊，<strong>学习就像是个永远填不满的大坑</strong>，感觉咋学都没个头。不管是学新技能，还是复习老知识，咱总会碰到那种“我学不下去啦”的抓狂时刻。想象一下，你坐在书桌前，眼睛直勾勾地盯着书或者屏幕，可脑子却像脱缰的野马，根本没法好好学，这谁懂啊！</p>
<!-- more -->
<p>:::info{title=&quot;那碰到这种情况，咋整呢？&quot;}</p>
<p>:::</p>
<p><img src="/static/img/ae30d5a3db308637fe462eccefc3fba4.image.png" alt="image.png"></p>
<h2>1、给自个儿放个小假</h2>
<p>学不下去可不代表你懒哈，这可能是你心里压力太大，或者没找对学习方法。要是你一直在那硬撑着，就跟卡在泥坑的车一样，动弹不得。这时候，不如给自己放个小假。休息又不是说不学了，这是给咱的脑子“调个频道”。你可以走出房间，干点别的事儿，甚至去网上刷点搞笑视频，看看别人是咋解决学习难题的，说不定看着看着就有灵感啦！</p>
<h2>2、效率才是王道</h2>
<p>有时候，长时间死记硬背就像用钝刀割肉，费劲还没啥效果。真正的学习得靠理解和消化，可不是机械地重复。当你学不下去的时候，停下来，回头看看学过的内容，就像整理房间一样，把知识重新归归类，看看是不是漏了啥重要东西，或者有没有更好的学习办法。</p>
<p>记住哈，<strong>学习效率可比花多少时间重要多啦</strong>！ 要是你一直在一个地方干耗着，啥收获都没有，那还不如换个方法，找条更顺溜的学习路。</p>
<p><img src="/static/img/1c800f781e62207fb347efc250cfe4e1.image.png" alt="image.png"></p>
<h2>3、慢下来，多想想</h2>
<p>咱有时候一着急，就想赶紧把学习任务完成，结果就像开快车没看路，容易翻车。这时候，不妨把学习速度放慢点，给自己多点时间好好想想。想想自己的学习方法对不对，思维方式有没有问题，对知识点理解得透不透。这一反思啊，学习质量说不定就蹭蹭往上涨。</p>
<p><strong>反思就像给学习加了个“特效”</strong>， 能让知识真正变成自己的。重新看看自己的学习过程，说不定就能发现新窍门，难题一下子就变得简单啦！</p>
<h2>4、自信是最强学习装备</h2>
<p>学习的路上到处都是“大怪兽”（也就是瓶颈啦），碰到了也别慌。当你卡在那儿的时候，停下来问问自己：我哪儿做得不对？我该咋改变？说不定这么一想，就能找到打败“怪兽”的办法。</p>
<p>其实啊，<strong>最好的学习装备就是“自信”</strong>。 这自信可不是瞎吹牛，而是相信自己有能力学会。只要你坚信自己能克服困难，调整方法，肯定能继续往前冲！</p>
<p><img src="/static/img/b14e40ed7aaf2a74f54f387a0bf1840c.image.png" alt="image.png"></p>
<h2>5、别怕学不下去，就怕不敢再试试</h2>
<p>学习就像一场超级长的冒险，路上肯定会有走不动、被困住的时候，但这可不代表游戏结束啦。当你感觉学不下去的时候，停下来，看看自己走过的路，想想学过的东西，反思反思学习方法。只有不断调整，才能越走越远。</p>
<p>记住哦，<strong>最可怕的不是学不下去，而是连再试一次的勇气都没了</strong>。 只要你不放弃，肯定能找到适合自己的通关秘籍，突破难关，继续在知识的世界里“打怪升级”！</p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/生活琐记">生活琐记</category>
        </item>
        <item>
            <title><![CDATA[幸福的真谛：拥有与无忧的辩证]]></title>
            <link>http://blog.wilsonzy.cn/post/169</link>
            <guid>http://blog.wilsonzy.cn/post/169</guid>
            <pubDate>Sat, 24 May 2025 10:53:09 GMT</pubDate>
            <description><![CDATA[<p>稻盛和夫说：</p>
<p>人们总是把幸福解读为“有”  ，有钱、有权、有名、有房  ，但幸福其实是“无”</p>
]]></description>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <p>稻盛和夫说：</p>
<p>人们总是把幸福解读为“有”  ，有钱、有权、有名、有房  ，但幸福其实是“无”</p>
<!-- more -->
<p><img src="/static/img/8689e5c21063d75715d892f6bd424687.image.png" alt="image.png"></p>
<p>无忧、无虑、无病、无灾  ，“有”多半是给别人看的  ，“无”才是你自己的</p>
<p>稻盛和夫这句话表达了一个深刻的哲理：<strong>幸福的本质不在于外在的拥有，而在于内心的平静与自由。他提到的“有”和“无”之间的对比，实际上揭示了人们在追求物质和权力时，往往忽略了内心的安宁与满足</strong>。</p>
<p>下面是对其中蕴含的道理的深入剖析：</p>
<h3>外在的“有”与内心的“无”</h3>
<p>大多数人把幸福寄托在外在的物质条件上，比如有名、有房、有钱、有权，这些往往是为了获得他人的认可或者社会地位的象征。然而，这种“<strong>有</strong>”是暂时的，且常常带有压力和负担。与此相反，稻盛和夫强调的“<strong>无</strong>”——无忧、无虑、无病、无灾，指的是<strong>内心的平和与自由</strong>，这种状态是一种更深层次的幸福，脱离了外界评价和物质追求的束缚。</p>
<h3>物质追求的虚无性</h3>
<p>我们常常在追求财富、权力和地位的过程中，投入大量的精力，然而这些外在的“有”并不能真正带来持久的满足。它们只是暂时的满足感，且往往伴随着更大的焦虑和压力。这种追求往往会陷入恶性循环，越想拥有越不满足。相反，内心的“无”是一种超脱于世俗的满足，是一种<strong>无欲则刚、超越物质的智慧</strong>。</p>
<p><img src="/static/img/7cc16c6f7acbb63a2dfe734463be265e.image.png" alt="image.png"></p>
<h3>幸福是内在的自我满足</h3>
<p>这句话也提醒我们，真正的幸福来自于内心的宁静和自我接纳。当我们能够放下对外在物质的执着，摆脱他人期待和社会的标准，<strong>回归自我，才能体会到真正的自由与幸福</strong>。无忧无虑的生活状态并不意味着没有追求，而是指在追求的过程中保持心灵的安宁和满足。</p>
<h3>“无”代表着释放</h3>
<p>这里的“无”并不是一种消极的“缺乏”，而是代表着释放和放下。放下对物质和外界认同的执着，放下对未来的焦虑，<strong>放下所有让自己不安的负担</strong>。当我们能做到这一点时，内心的幸福感会自然而然地涌现出来。</p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/生活琐记">生活琐记</category>
        </item>
        <item>
            <title><![CDATA[治愈一切的良药]]></title>
            <link>http://blog.wilsonzy.cn/post/168</link>
            <guid>http://blog.wilsonzy.cn/post/168</guid>
            <pubDate>Sat, 24 May 2025 10:08:41 GMT</pubDate>
            <description><![CDATA[<p>生活中，我们常常会感到迷茫、恐惧、焦虑和自卑。<br>
这些负面情绪像阴霾一样笼罩在我们的心头，似乎无时无刻不在侵蚀着我们的力量。</p>
]]></description>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <p>生活中，我们常常会感到迷茫、恐惧、焦虑和自卑。<br>
这些负面情绪像阴霾一样笼罩在我们的心头，似乎无时无刻不在侵蚀着我们的力量。</p>
<!-- more -->
<p><img src="/static/img/430ae0d909ee0f05e6acdce09a906b63.image.png" alt="image.png"></p>
<p>我们常常在困惑中徘徊，似乎找不到出路。<br>
其实，有一剂良药，可以帮助我们走出困境，那就是“<strong>忙碌</strong>”。</p>
<p>美国著名人际关系学大师卡耐基曾经说过：“<strong>要保持忙碌，它是世界上最便宜的药</strong>。”这句话告诉我们，忙碌并不是简单的工作或任务，它是一种积极的生活态度。</p>
<p>当我们保持适度的忙碌时，便能摆脱无所事事的空虚感，将注意力集中在有意义的事物上，逐渐走出消极情绪的阴影。</p>
<p>“<strong>无所事事</strong>”往往带来的是内心的空虚与无助，而适度的忙碌则能充实我们的生活，带来成就感和满足感。</p>
<p><img src="/static/img/cb3b5bce3cfda2a65638a50d8b383167.image.png" alt="image.png"></p>
<p>当我们在忙碌中寻找目标，不仅能减少焦虑，还能在行动中逐渐积累自信。<br>
当我们的生活有了方向与任务时，焦虑与自卑也就会在不知不觉中被治愈。</p>
<p>适度的忙碌，让生活变得丰富多彩。它为我们提供了前进的动力，让我们拥有了应对挑战的勇气。<br>
<strong>生活不再是无尽的等待与徘徊，而是充满了奋斗和成长的喜悦</strong>。</p>
<p>所以，别让自己沉迷于无所事事的空虚中。<br>
让适度的忙碌成为你治愈一切的良药，让生活变得精彩纷呈。</p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/生活琐记">生活琐记</category>
        </item>
        <item>
            <title><![CDATA[闲暇的双刃剑：如何避免走向堕落]]></title>
            <link>http://blog.wilsonzy.cn/post/167</link>
            <guid>http://blog.wilsonzy.cn/post/167</guid>
            <pubDate>Sat, 24 May 2025 10:00:19 GMT</pubDate>
            <description><![CDATA[<p>人生是一场不断前行的旅程，而停滞不前往往是最大的危险。<br>
当我们过于沉溺于闲暇时，可能会错失宝贵的成长机会。</p>
]]></description>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <p>人生是一场不断前行的旅程，而停滞不前往往是最大的危险。<br>
当我们过于沉溺于闲暇时，可能会错失宝贵的成长机会。</p>
<!-- more -->
<p>人们常说，“闲是福气”，<br>
确实，适当的休息与放松有助于身心健康，但如果过度沉迷于闲暇，后果可能是灾难性的。</p>
<p><img src="/static/img/6fa9b1137893b2b63dd45b0c65815a06.image.png" alt="image.png"></p>
<p>人生就像一台齿轮，越转越灵活，越动越有活力。<br>
而一旦停止转动，齿轮就会生锈，失去原本的效能。</p>
<p>同理，人在没有目标、缺乏行动的状态下，也会渐渐失去动力与方向，甚至陷入自我怀疑与无所作为的困境。<br>
真正的灾难并不是忙碌，而是无所事事，日复一日的空虚。</p>
<p>“<strong>人生之路，不进则退</strong>”，这是永恒的真理。<br>
当我们开始贪图短暂的闲暇，未曾意识到的是，未来的痛苦早已悄然积累。</p>
<p><img src="/static/img/25c32877fa38933e9fa38523318471f6.image.png" alt="image.png"></p>
<p>偷得的闲时，换来的可能是未来的懊悔与失望。<br>
<strong>过度的闲暇不仅让我们远离目标，也削弱了我们面对挑战的勇气和解决问题的能力</strong>。</p>
<p>因此，学会合理规划时间，保持持续前行的动力，<br>
才是抵挡“堕落”与“懒惰”最有效的方式。</p>
<p>闲暇不是问题，问题在于如何利用它，让它成为充电的时间，而不是让自己停滞不前的借口。<br>
通过不断地进步与成长，我们才会真正感受到生活的意义与充实。</p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/生活琐记">生活琐记</category>
        </item>
        <item>
            <title><![CDATA[活得漂亮]]></title>
            <link>http://blog.wilsonzy.cn/post/166</link>
            <guid>http://blog.wilsonzy.cn/post/166</guid>
            <pubDate>Sat, 24 May 2025 09:51:10 GMT</pubDate>
            <description><![CDATA[<p>鹰，</p>
<p>不需鼓掌，也在飞翔，</p>
<p>草，</p>
<p>没人心疼，也在成长。</p>
]]></description>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <p>鹰，</p>
<p>不需鼓掌，也在飞翔，</p>
<p>草，</p>
<p>没人心疼，也在成长。</p>
<!-- more -->
<p><img src="/static/img/ac38b5cefea035ee54fcdabdac405e33.image.png" alt="image.png"></p>
<p>做事，不需人人都理解，</p>
<p>坚持，</p>
<p>注定有孤独彷徨。</p>
<p>质疑嘲笑，</p>
<p>也得无妨。</p>
<p>就算遍地鳞伤，</p>
<p>也要撑起<strong>坚强</strong>，</p>
<p>一世并不长，</p>
<p>既然来了，</p>
<p>就要活得漂亮。</p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/心灵探索">心灵探索</category>
        </item>
        <item>
            <title><![CDATA[从挫败中汲取力量]]></title>
            <link>http://blog.wilsonzy.cn/post/165</link>
            <guid>http://blog.wilsonzy.cn/post/165</guid>
            <pubDate>Sat, 24 May 2025 09:45:09 GMT</pubDate>
            <description><![CDATA[<p>在人生的道路上，很多时候我们被各种励志故事和“鸡汤”所包围，这些看似能激励人心的话语，却未必能真正让我们成长。</p>
<p>真正的成长，往往源自于一次次的挫败和摔倒。当你经历过失败，面对过跌宕起伏的人生时，你才会真正领悟到，<strong>成长并不是一帆风顺的，而是通过那些艰难的时刻，才能不断磨砺自己，变得更加坚强</strong>。</p>
]]></description>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <p>在人生的道路上，很多时候我们被各种励志故事和“鸡汤”所包围，这些看似能激励人心的话语，却未必能真正让我们成长。</p>
<p>真正的成长，往往源自于一次次的挫败和摔倒。当你经历过失败，面对过跌宕起伏的人生时，你才会真正领悟到，<strong>成长并不是一帆风顺的，而是通过那些艰难的时刻，才能不断磨砺自己，变得更加坚强</strong>。</p>
<!-- more -->
<p><img src="/static/img/d633bc4838f8cbc1ab23a9841f1ae6d9.image.png" alt="image.png"></p>
<p>当你身陷困境时，周围的人和事会有不同的反应。许多人会选择远离你，甚至投下冷眼和嘲笑；然而，这正是你成长的标志。</p>
<p>别人孤立你，意味着你足够强大，足够让他们感到威胁。别人诋毁你，代表着你已经超越了他们的认知和水平，他们害怕你比他们更优秀。那些嫉妒你、非议你的人，只是在反映出你出众的能力和潜力。</p>
<p>人只有经历过低谷，才能真正看清周围人的面貌。有时，正是这些遭遇，让我们明白，真正能给你支持的人，始终会在你最需要的时候出现；而那些只会指责和诋毁你的人，注定无法走得更远。</p>
<p><img src="/static/img/817bf43fbc9f56096db7f3eb47c6e0fd.image.png" alt="image.png"></p>
<p>在人生的上升期，尊重他人，而非轻视他人，才是一个真正强者的表现。因为当你站得更高，看得更远，你会明白，每个人都有自己的艰难和努力，不需要用攻击去证明自己的价值。你能做的，是<strong>保持自己的独立与强大，继续前行</strong>。</p>
<p>最终，成长的力量来源于我们如何面对挑战，<strong>如何从每一次跌倒中站起，而非如何逃避困境</strong>。在这些挫折中，你会找到属于自己的独特价值，发现自己的真正潜力。</p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/生活琐记">生活琐记</category>
        </item>
        <item>
            <title><![CDATA[人生最大的成功，是婚姻的成功]]></title>
            <link>http://blog.wilsonzy.cn/post/164</link>
            <guid>http://blog.wilsonzy.cn/post/164</guid>
            <pubDate>Sat, 24 May 2025 09:34:52 GMT</pubDate>
            <description><![CDATA[<p>在追求财富和地位的道路上，我们常常会被外界的标准所左右，<br>
认为拥有更多的财富、获得更高的地位，才是人生的成功。</p>
]]></description>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <p>在追求财富和地位的道路上，我们常常会被外界的标准所左右，<br>
认为拥有更多的财富、获得更高的地位，才是人生的成功。</p>
<!-- more -->
<p>但世界首富巴菲特却有着不同的看法。<br>
在一次采访中，记者问他：“作为全球首富，他认为一生中最大的成功是什么。”</p>
<p>巴菲特毫不犹豫地回答：“我这一生，最大的成功就是娶了一个好老婆，<strong>婚姻的成功，是我这一生最大的成功</strong>。”</p>
<p><img src="/static/img/4848c54560c5ae05427dad8c26da5807.image.png" alt="image.png"></p>
<p>听到这样的话，或许许多人会觉得巴菲特在刻意谦逊，甚至故弄玄虚。<br>
然而，他的话语却透露出了一种深刻的智慧。</p>
<p><strong>财富</strong>和<strong>地位</strong>，虽然在生前带给我们许多便利和光环，但它们终究是暂时的。<br>
你可以拥有它们，但一旦离开这个世界，它们都将无处可寻。</p>
<p>与其把人生的成功寄托在这些外在的东西上，不如珍视身边那些能够带给你内心平静和幸福的人。</p>
<p>巴菲特所说的“婚姻的成功”，不仅仅是因为他和妻子之间的深厚感情，更是因为他明白，真正能让一<strong>个人获得满足和幸福的，是那些无法被金钱和地位衡量的内在价值</strong>。</p>
<p><img src="/static/img/1644388f58272ffc81ebe984b5d6c67a.image.png" alt="image.png"></p>
<p>人的一生，最值得追求的，不一定是不断扩大的财富和更高的地位，而是身边的亲密关系和内心的平和。一个幸福的家庭、一个彼此关爱、互相支持的伴侣，才是你在人生旅程中最大的财富。</p>
<p>成功不在于外界的认同，而在于你内心的充实与满足。当你学会珍惜这些最简单却最珍贵的东西，你或许会发现，真正的成功，早已悄然走近你。</p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/生活哲学">生活哲学</category>
        </item>
        <item>
            <title><![CDATA[放下他人的评价，活出自己]]></title>
            <link>http://blog.wilsonzy.cn/post/163</link>
            <guid>http://blog.wilsonzy.cn/post/163</guid>
            <pubDate>Sat, 24 May 2025 09:22:54 GMT</pubDate>
            <description><![CDATA[<p>人性总有一个弱点：<br>
<strong>你越在意什么，什么就越能折磨你</strong>。</p>
]]></description>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <p>人性总有一个弱点：<br>
<strong>你越在意什么，什么就越能折磨你</strong>。</p>
<!-- more -->
<p>当你学会足够<strong>尊重</strong>自己，<br>
你就会发现，别人那些闲言碎语根本无法撼动你。</p>
<p>你不会再把那些无关紧要的评价放在心上，<br>
因为你明白，真正的<strong>自信</strong>来自于内心的平和与坚韧。</p>
<p><img src="/static/img/c1ed50173dcfdf0388428b732a7ac016.image.png" alt="image.png"></p>
<p>有时候，争论并不是为了争个输赢，<br>
而是为了证明自己对某些事情的态度。</p>
<p>然而，你永远不需要与那些心胸狭隘、言之无物的人争辩。<br>
与其<strong>浪费</strong>时间在毫无意义的对话上，不如选择放下。</p>
<p>别人放什么屁，你不接，<br>
臭味自然无法传到你身上。</p>
<p><img src="/static/img/80fcf97fb48394edac5c57fa55b8a3e5.image.png" alt="image.png"></p>
<p>当你不再在意外界的声音，<br>
你就能专注于自己的成长和内心的宁静，<br>
走出一条真正属于自己的路。</p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/生活琐记">生活琐记</category>
        </item>
        <item>
            <title><![CDATA[人言可畏，言犹在耳]]></title>
            <link>http://blog.wilsonzy.cn/post/162</link>
            <guid>http://blog.wilsonzy.cn/post/162</guid>
            <pubDate>Sat, 24 May 2025 09:08:19 GMT</pubDate>
            <description><![CDATA[<p>就是你聪明了，有人说你心机重；<br>
你成功了，有人说你运气好；</p>
]]></description>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <p>就是你聪明了，有人说你心机重；<br>
你成功了，有人说你运气好；</p>
<!-- more -->
<p>你喜欢独处了，有人说你不合群；<br>
你乐于助人了，有人说你虚伪。</p>
<p><img src="/static/img/347955fc3bd0461f654cd46c9d1ee2e1.image.png" alt="image.png"></p>
<p>无论你做得多好，总会有人评头论足。<br>
有时候，你明明是杯白开水，<br>
却被强行塑造成了碳酸饮料，满腹的委屈。<br>
别太在意他人的看法，<br>
否则你的人生就像一条裤衩，<br>
别人放什么屁你都得接。</p>
<p>过度在意别人的眼光，<br>
结果只有两种：<br>
要么累死自己，<br>
要么被别人整死。</p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/生活琐记">生活琐记</category>
        </item>
        <item>
            <title><![CDATA[如何有效打破不良习惯，迈向更健康的生活]]></title>
            <link>http://blog.wilsonzy.cn/post/161</link>
            <guid>http://blog.wilsonzy.cn/post/161</guid>
            <pubDate>Tue, 29 Apr 2025 02:03:19 GMT</pubDate>
            <description><![CDATA[<p>不良习惯是每个人生活中常见的难题，它们可能无形中占据了我们的时间与精力，影响了我们的健康、工作和人际关系。然而，要改变这些习惯并非一件容易的事情，需要我们付出努力、坚持和正确的方法。</p>
]]></description>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <p>不良习惯是每个人生活中常见的难题，它们可能无形中占据了我们的时间与精力，影响了我们的健康、工作和人际关系。然而，要改变这些习惯并非一件容易的事情，需要我们付出努力、坚持和正确的方法。</p>
<!-- more -->
<p>以下是四个步骤，帮助你有效地改变不良习惯。</p>
<h3>第一步：明确你到底要改变哪一个习惯</h3>
<p>改变不良习惯的第一步，是要明确你希望改变的具体习惯。这一步看似简单，但它至关重要。很多人尝试改变习惯时，往往没有清晰的<strong>目标</strong>，导致努力了半天，依然无法见到成效。为了提高成功的几率，最好<strong>拿出一张纸，写下你要改变的习惯</strong>，并写明你想要达成的目标。</p>
<p>:::info{title=&quot;例如&quot;}<br>
如果你的不良习惯是熬夜，那就明确写下：“我要每天晚上10点之前上床睡觉。”这个目标清晰、具体，能让你在每一次遇到诱惑时都能有一个清楚的方向。<br>
:::</p>
<h3>第二步：激起改变的意愿</h3>
<p>改变习惯需要强烈的意愿，这也是许多人在改变过程中失败的根本原因。如果你仅仅是“想要”改变，而没有<strong>深刻的决心</strong>，那么任何困难都会使你放弃。因此，你必须激发自己百分之百的改变意愿——不仅仅是想要改变，而是一定要改变。</p>
<p>你可以通过以下方式来激发自己的改变意愿：</p>
<p><strong>明确自己的痛点</strong>：回想那些不良习惯带来的负面后果，比如熬夜影响健康，或者拖延工作导致压力增大。深刻意识到这些后果会帮助你更加坚定改变的决心。</p>
<p><strong>设定奖励机制</strong>：每当你成功改变一个小习惯时，可以给自己一些奖励。例如，成功早睡一周后，可以奖励自己去看一场电影。</p>
<h3>第三步：打断惯性</h3>
<p>不良习惯的本质是“惯性”，一旦你形成了某个习惯，往往不自觉地去重复它。因此，要改变习惯，必须打破这一惯性。这里的关键是主动去创造新的反应模式，当你意识到自己要做出不良习惯时，立刻采取一些行动去打断它。</p>
<p>:::info{title=&quot;例如&quot;}<br>
如果你习惯了每晚吃宵夜，可以将晚餐安排得更加丰富，或者在吃完晚餐后，立刻做些运动，转移注意力，避免给自己宵夜的“空间”。这个打断的过程可以是物理性的（比如挪开喜欢的零食），也可以是心理上的（比如转移注意力）。<br>
:::</p>
<h3>第四步：输入新的资讯或新习惯</h3>
<p>改变一个习惯的最后一步，是用新的习惯或新知识来替代不良习惯。我们的大脑喜欢习惯性的思维和行为，当我们决定放弃一个坏习惯时，必须<strong>用一个好的习惯来填补它的空缺</strong>。新的习惯不仅要有益健康，还要让你感到愉悦，从而保持长期的坚持。</p>
<p>:::info{title=&quot;例如&quot;}<br>
如果你想戒掉抽烟，可以尝试做深呼吸或口香糖来替代吸烟的欲望。如果你想戒掉熬夜，可以试着在晚上安排一些轻松的活动，如阅读或冥想，帮助你放松并早早入睡。<br>
:::</p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/个人成长">个人成长</category>
        </item>
        <item>
            <title><![CDATA[如何做好时间管理：提升效率的关键步骤]]></title>
            <link>http://blog.wilsonzy.cn/post/160</link>
            <guid>http://blog.wilsonzy.cn/post/160</guid>
            <pubDate>Mon, 28 Apr 2025 13:27:37 GMT</pubDate>
            <description><![CDATA[<p align="center">
  <img src="/static/img/81fbcfcc7050d5681e2347b0fb39c516.image.png" alt="时间管理" />
</p>
<p>时间是我们最宝贵的资源，但许多人常常感到时间不够用。如何高效地利用每一天，成为了很多人关注的焦点。时间管理不仅仅是制定日程安排，更重要的是通过科学的方法设定目标、合理分配任务、摒弃浪费时间的习惯，从而最大化我们的工作效率与生活质量。<br>
以下六个关键步骤，帮助你做好时间管理，实现自我提升。</p>
]]></description>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <p align="center">
  <img src="/static/img/81fbcfcc7050d5681e2347b0fb39c516.image.png" alt="时间管理" />
</p>
<p>时间是我们最宝贵的资源，但许多人常常感到时间不够用。如何高效地利用每一天，成为了很多人关注的焦点。时间管理不仅仅是制定日程安排，更重要的是通过科学的方法设定目标、合理分配任务、摒弃浪费时间的习惯，从而最大化我们的工作效率与生活质量。<br>
以下六个关键步骤，帮助你做好时间管理，实现自我提升。</p>
<!-- more -->
<h3>1. 设定明确的目标</h3>
<p>时间管理的首要步骤是设定清晰明确的目标。无论是短期的任务，还是长期的梦想，目标能够为我们提供方向。如果没有目标，我们的时间就像无头苍蝇，乱飞而无目的。</p>
<p>例如，你的目标可以是“在三个月内每天读书30分钟”，而不是模糊的“多读书”。明确的目标能够让你在有限的时间内，专注于实现最重要的事情。</p>
<h3>2. 依照目标设定详细的计划</h3>
<p>一旦目标明确，下一步就是制定详细的计划。  <strong>没有计划的目标只能停留在愿景阶段</strong>。<br>
将大目标拆解成一个个小的、具体的任务，并设定时间表和优先级。</p>
<p>比如，如果你的目标是提高工作效率，你可以计划“每天早上8点到9点处理重要邮件”，并安排合适的休息时间来保持精力充沛。<strong>详细的计划能够帮助你合理分配时间，确保每个任务都能够按时完成</strong>。</p>
<p align="center">
  <img src="/static/img/cebc3c1fae1c0518e3534ebb012b091a.image.png" alt="任务清单" />
</p>
<h3>3. 研究自己浪费时间的习惯，并解决它</h3>
<p>时间管理不仅仅是合理分配任务，更是了解自己浪费时间的习惯，找到症结并加以改进。<strong>很多时候，我们在无意识中浪费大量时间</strong>。 例如反复查看手机、过度浏览社交媒体、拖延等。</p>
<p>通过记录每天的时间使用情况，我们能够发现这些时间浪费的源头，并采取有效的解决措施。<br>
比如设定“手机静音”模式，避免无关的干扰，或者采用“<strong>番茄工作法</strong>”帮助自己集中精力。找到自己的时间漏洞，并逐步解决它们，才能更高效地使用时间。</p>
<h3>4. 同时提醒自己要做最有生产力的事情</h3>
<p>时间管理的核心不仅是完成任务，更重要的是聚焦于最能带来价值的任务。每个人的时间都是有限的，<strong>学会优先处理最重要的事情，是提高效率的关键</strong>。你可以每天早上或前一天晚上<strong>列出任务清单</strong>，并<strong>标明</strong>哪些任务最为<strong>重要、紧急</strong>，哪些可以推迟或分配给他人。避免低效的任务占据你的时间，确保每一分每一秒都投入到最具生产力的活动中，帮助你朝着目标稳步前进。</p>
<p align="center">
  <img src="/static/img/16e103276d5f123a73738c93f431088b.image.png" alt="优先" />
</p>
<h3>5. 不断和成功者接触</h3>
<p>向成功者学习，是提升时间管理能力的另一途径。那些能够高效安排时间的人，通常都具备一套行之有效的时间管理方法。你可以通过<strong>阅读</strong>他们的<strong>书籍</strong>、<strong>听</strong>他们的<strong>演讲</strong>，甚至直接与他们<strong>交流</strong>，从中汲取经验教训。与成功者接触，不仅能激发你对时间管理的兴趣，还能让你学习到更多行之有效的技巧，帮助你在自己的时间管理过程中做出更好的选择。</p>
<h3>6. 一定要接近你希望成为的对象</h3>
<p>如果你想成为一个高效的人，最好的方法就是<strong>与那些具备良好时间管理习惯的人多接触</strong>。通过与他们一起工作或学习，你能够潜移默化地培养自己的好习惯，并且从他们的成功中汲取力量。无论是职场上的前辈，还是生活中的朋友，与优秀的人共事，可以加速你的成长，帮助你更快实现目标。</p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/生活琐记">生活琐记</category>
        </item>
        <item>
            <title><![CDATA[人生中失败的深度分析与反思]]></title>
            <link>http://blog.wilsonzy.cn/post/159</link>
            <guid>http://blog.wilsonzy.cn/post/159</guid>
            <pubDate>Mon, 28 Apr 2025 13:07:03 GMT</pubDate>
            <description><![CDATA[<h1>人生中的失败及其根本原因</h1>
<p>在我们的人生旅程中，失败往往是每个人都不可避免的经历。无论是在职场、学习还是个人成长方面，失败似乎都是无法绕过的关卡。然而，许多人并未能从失败中汲取教训，反而一再遭遇挫折。通过分析归纳出导致一般人失败的几个根本原因，并探讨如何避免这些陷阱。</p>
]]></description>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <h1>人生中的失败及其根本原因</h1>
<p>在我们的人生旅程中，失败往往是每个人都不可避免的经历。无论是在职场、学习还是个人成长方面，失败似乎都是无法绕过的关卡。然而，许多人并未能从失败中汲取教训，反而一再遭遇挫折。通过分析归纳出导致一般人失败的几个根本原因，并探讨如何避免这些陷阱。</p>
<!-- more -->
<h2>1. 缺乏目标</h2>
<p>目标是成功的起点，然而很多人并没有明确的目标。没有目标，就像是船没有舵，无法朝着明确的方向前进。成功的人往往有清晰的目标，并且每一个决定和行动都与这些目标紧密相连。</p>
<h2>2. 目标没有写下来</h2>
<p>目标如果只是停留在脑海里，它们往往容易被遗忘，或者随着时间推移而被模糊化。成功的人知道，写下目标能帮助他们更好地记住和执行。有研究表明，书面目标能大大提高实现的可能性。</p>
<p><img src="/static/img/3d972e4307bdf0c3fce2a896a0f74dce.image.png" alt="image.png"></p>
<h2>3. 目标不明确</h2>
<p>模糊的目标没有方向，容易让人迷失。很多人设定的目标过于模糊，比如“我想变得更好”或者“我想赚更多的钱”。这些目标缺乏具体性和可衡量性，容易导致拖延和停滞。明确的目标才是推动行动的动力。</p>
<h2>4. 目标没有设定期限</h2>
<p>没有期限的目标，往往缺乏紧迫感。设定明确的时间节点，能够迫使自己集中精力、提高效率，避免无休止的拖延。</p>
<h2>5. 时常更改目标</h2>
<p>有些人在面对挑战和困境时，会随意更改目标。这种做法不仅缺乏坚持，还容易导致目标混乱。目标的更改往往表明个人并未对目标进行深刻的思考，也缺乏应对困难的决心和毅力。</p>
<h2>6. 目标太多</h2>
<p>当一个人同时有太多目标时，很容易导致精力分散，无法集中力量去完成某一件重要的事。成功往往源于专注，专注一个核心目标，才能有更高的概率达成。</p>
<h2>7. 缺乏核心目标</h2>
<p>许多人设定了一些目标，但这些目标彼此之间并没有内在联系，缺乏一个核心目标的支撑。核心目标是行动的指引，它能帮助个人在众多选择面前做出明智的决策。</p>
<h2>8. 忘了设定短期目标、中期目标和长期目标</h2>
<p>成功的规划通常包含了短期、中期和长期目标。单一的目标往往无法满足复杂的生活需求，而这三者的合理安排与协调，能够确保个人在过程中不断调整和前进。</p>
<h2>9. 不愿意对自己负责任</h2>
<p>责任心是成功的重要因素之一。很多人在面对失败时选择推卸责任，认为是外部环境的因素导致了自己的失败。然而，成功的人始终相信自己的决定和行动，愿意承担结果，并从中学习。</p>
<p><img src="/static/img/492bfac542de365d7e9d7bfbb01e7590.image.png" alt="image.png"></p>
<h2>10. 缺乏行动力</h2>
<p>拥有了目标，但如果没有行动，成功将遥不可及。很多人设定了目标，却迟迟没有付诸实践。行动是实现目标的唯一途径，缺乏行动力就是放弃成功的机会。</p>
<h2>11. 自我设限</h2>
<p>有些人内心深处存在自我设限，认为自己无法成功、无法达到更高的目标。这种心理障碍让他们在面对挑战时产生畏惧和退缩。成功的人相信自己能够突破限制，并不断寻找成长的空间。</p>
<h2>12. 无法掌控自己的情绪</h2>
<p>情绪的波动是每个人都会面临的难题。如果无法有效地管理情绪，就容易做出冲动的决定，或者在失败面前轻易放弃。情绪管理能力能够让人在困境中保持冷静，做出理智的决策。</p>
<h2>13. 不愿意好好地努力工作</h2>
<p>有些人希望能够轻松地成功，但成功从来不会垂手可得。它需要通过不断的努力和付出才能获得。成功的背后往往是日复一日的坚持和不懈的努力。</p>
<h2>14. 结交错误的朋友</h2>
<p>身边的朋友在很大程度上影响了一个人的思维方式和行动力。与消极、懒散或者抱怨的人交往，只会让自己陷入困境。相反，与积极、向上的人交朋友，能激发自己更大的潜力。</p>
<h2>15. 不请教成功者</h2>
<p>有些人害怕向别人请教，认为自己不需要依赖他人。然而，成功者往往愿意从他人的经验中汲取智慧。向有经验的人请教，能帮助自己少走弯路，加速成功的步伐。</p>
<h2>16. 缺乏时间管理</h2>
<p>时间是最宝贵的资源，如何合理安排和利用时间，决定了一个人是否能高效地达成目标。缺乏时间管理的人容易拖延，浪费大量的时间在无关紧要的事情上。</p>
<p><img src="/static/img/c1ca51a63dbcfba3c69d34d5a9a684bd.image.png" alt="image.png"></p>
<h2>17. 用错了方法和策略</h2>
<p>成功并非仅仅依靠努力，更需要有效的方法和策略。有些人往往盲目地付出，却忽视了方法的科学性。如果不能找到合适的途径，即使付出再多的努力，也难以获得预期的成果。</p>
<h2>18. 缺乏自我成长</h2>
<p>成功不仅是外部的成果，更是内心的成长。很多人只关注外在的成功，忽视了自我提升的必要性。不断学习和成长，是走向成功的关键。</p>
<h2>19. 没有百分之百的决心和全力以赴</h2>
<p>成功需要坚定的决心和全身心的投入。很多人虽有目标，但缺乏充分的决心去全力以赴地执行。没有百分之百的决心，成功就无法完全实现。</p>
<h2>20. 没有集中在单一目标</h2>
<p>最后，分散精力和多任务并行常常导致目标不明确。集中在一个单一目标上，专注并全力以赴，才能获得最好的结果。</p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/个人成长">个人成长</category>
        </item>
        <item>
            <title><![CDATA[坚持与梦想：每一步努力都值得]]></title>
            <link>http://blog.wilsonzy.cn/post/158</link>
            <guid>http://blog.wilsonzy.cn/post/158</guid>
            <pubDate>Sun, 27 Apr 2025 12:40:16 GMT</pubDate>
            <description><![CDATA[<p>每个人心中或许都有一个遥远的梦想，它像一颗璀璨的星星，遥不可及，却又深深吸引着我们不断向前。而在追逐梦想的过程中，我们常常会遇到各种各样的挑战与困难，这时，坚持与努力便成了最重要的力量。</p>
]]></description>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <p>每个人心中或许都有一个遥远的梦想，它像一颗璀璨的星星，遥不可及，却又深深吸引着我们不断向前。而在追逐梦想的过程中，我们常常会遇到各种各样的挑战与困难，这时，坚持与努力便成了最重要的力量。</p>
<!-- more -->
<p align="center">
  <img src="/static/img/e5722f4cf6696d1d59944d2601a44c6a.image.png" alt="image.png" />
</p>
<p>最近我读了《读者》中的一篇文章，讲述了一位女孩从一个学业倒数第一的学生，到最终以优异成绩考入北大的故事。这篇文章给了我深刻的启示：<strong>只要我们对目标坚定不移，并且不断为之努力，即使面对再大的困难与挫折，我们也能实现自己的梦想</strong>。</p>
<p>故事中的女孩，起初并没有优越的条件，她的成绩处于班级的倒数第一，几乎被所有人认为不可能成功。但她并没有因此气馁，反而将自己的目标定得更加明确———<strong>上北大</strong>。她深知，只有通过不断的努力，才能有可能改变现状。于是，她开始了一段艰辛却坚定的奋斗旅程。</p>
<p>她从来没有轻言放弃，每一科都投入了大量的时间和精力。尤其是她的历史课本，她背了整整五遍，虽然一开始对它感到厌倦，甚至想放弃，但她告诉自己，成功就是这样一点一滴积累起来的。而她的坚持也没有白费，最终她凭借自己的努力，顺利考入了北大。</p>
<p>从这篇文章中，我读到了一个深刻的道理：<strong>成功并不是凭空而来的，它是通过无数次的坚持与努力，积累出来的成果</strong>。许多人常常羡慕那些看似一帆风顺的人，认为他们的成功是天赋使然，然而，真正的成功往往是无数次失败后的坚持，是在无数个孤独的夜晚里，依然选择不放弃的决心。</p>
<p align="center">
  <img src="/static/img/3b6b6d7f38c16ffe3499ce4b2c70428d.image.png" alt="image.png" />
</p>
<p>这位女孩的故事让我意识到，<strong>目标的坚定与不懈的努力是成就梦想的关键</strong>。在追求梦想的过程中，困难与挑战是不可避免的，它们或许会让我们感到疲惫，甚至想要放弃。但如果我们能够始终坚持自己的目标，并且在每一次跌倒后站起来，最终我们就能够突破一切限制，迎接属于我们的成功。</p>
<p>其实，人生的每一步都在为未来奠定基础。我们每一次的努力，都是为实现梦想铺设的一块砖石。也许现在的我们并没有看到梦想的尽头，但只要我们一直坚持，始终相信自己能够做到，梦想的那一天终将到来。</p>
<p>这让我更加坚定了自己的信念，无论未来的路多么崎岖不平，我都要像这位女孩一样，抱着坚定的信念，脚踏实地地追求自己的目标。因为我知道，只要努力了，就没有什么是不可能实现的梦想。<strong>每一份坚持，都将在未来的某一天，化作成功的喜悦与成就的光辉</strong>。</p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/书籍阅读">书籍阅读</category>
        </item>
        <item>
            <title><![CDATA[迎接新曙光：2025年的诗意启航]]></title>
            <link>http://blog.wilsonzy.cn/post/157</link>
            <guid>http://blog.wilsonzy.cn/post/157</guid>
            <pubDate>Sun, 27 Apr 2025 12:19:48 GMT</pubDate>
            <description><![CDATA[<p align="center">新年晨曦洒满天，</p>
<p align="center">岁月如歌轻轻转，</p>
<p align="center">往事如风已远去，</p>
<p align="center">心中梦，依旧鲜明。</p>
<p align="center">
  <img src="/static/img/5b71b676dc77859496371cf47feb7f2f.image.png" alt="image.png" />
</p>
]]></description>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <p align="center">新年晨曦洒满天，</p>
<p align="center">岁月如歌轻轻转，</p>
<p align="center">往事如风已远去，</p>
<p align="center">心中梦，依旧鲜明。</p>
<p align="center">
  <img src="/static/img/5b71b676dc77859496371cf47feb7f2f.image.png" alt="image.png" />
</p>
<!-- more -->
<p align="center">曾经路途多坎坷，</p>
<p align="center">笑对风雨勇往前，</p>
<p align="center">每一步，都是收获，</p>
<p align="center">每一程，成长如歌。</p>
<p align="center">2025，新的篇章，</p>
<p align="center">希望如星，闪耀光芒，</p>
<p align="center">我们携手共前行，</p>
<p align="center">梦想远方，待飞翔。</p>
<p align="center">
  <img src="/static/img/e2df901ec012c0033528ce5a1f72d9ba.image.png" alt="image.png" />
</p>
<p align="center">不惧风雨，心怀光明，</p>
<p align="center">未来的路，我们同行，</p>
<p align="center">新的一年，愿心愿如愿，</p>
<p align="center">在岁月里悄然绽放。</p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/生活琐记">生活琐记</category>
        </item>
        <item>
            <title><![CDATA[好心情，如同一杯蜜汁，淳厚香甜]]></title>
            <link>http://blog.wilsonzy.cn/post/156</link>
            <guid>http://blog.wilsonzy.cn/post/156</guid>
            <pubDate>Sat, 26 Apr 2025 05:02:56 GMT</pubDate>
            <description><![CDATA[<h1>好心情是一种正能量</h1>
<p>它能让人精神焕发、信心倍增。<br>
当你每天用一份好心情对待自己、对待他人、对待生活中的每一件事时，你会感受到生命的真谛、生活的乐趣和生存的意义。</p>
<p><img src="/static/img/79a46be4aa29846c847f84836ceac6bd.image.png" alt="image.png"></p>
]]></description>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <h1>好心情是一种正能量</h1>
<p>它能让人精神焕发、信心倍增。<br>
当你每天用一份好心情对待自己、对待他人、对待生活中的每一件事时，你会感受到生命的真谛、生活的乐趣和生存的意义。</p>
<p><img src="/static/img/79a46be4aa29846c847f84836ceac6bd.image.png" alt="image.png"></p>
<!-- more -->
<p>你会感受到阳光的灿烂，春风的和煦，生活的美好，也会让周围的人感受到你充沛的活力和青春气息。<br>
保持一份好心情，不仅愉悦自己，还能感染他人，带动他人，唤醒每个人心中的年轻与朝气。</p>
<p>然而，并非每个人都能轻易拥有和保持好心情，这与个人的知识、修养和人生态度密切相关。<br>
广博的知识、良好的修养和积极的心态会让你更加豁达，不斤斤计较得失，懂得为大局着想，善待他人，乐于奉献。</p>
<p>正如伟人所说：“看见地上的阴影，是因为你低着头。”<br>
<strong>世间的阴暗并非生活的全部，真善美才是生活的主流</strong>。<br>
当你不被世俗观点和片面个人主义所左右时，才能真正拥有并保持一份好心情。</p>
<p>保持好心情，机遇自然向你招手。自信与乐观会让你在人生的路上脱颖而出。<br>
优雅、大度的举止不仅展现个人修养，也能轻松化解生活中的困难与冲突。你是那粒带着光芒的种子，能够激励周围的人蓬勃向上。</p>
<p><strong>保持一份好心情，不仅是为自己，也是在为他人带去幸福。</strong><br>
不要为一时的困惑而愁眉苦脸，也不必为暂时的挫折而气馁。<br>
跌倒了就爬起来，勇敢向前。<br>
生命的意义在于不断进取，哪怕身处困境，也请记住：保持一份好心情。</p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/心灵探索">心灵探索</category>
        </item>
        <item>
            <title><![CDATA[人生如诗：在时光中感悟心灵的共鸣]]></title>
            <link>http://blog.wilsonzy.cn/post/155</link>
            <guid>http://blog.wilsonzy.cn/post/155</guid>
            <pubDate>Sat, 26 Apr 2025 04:41:52 GMT</pubDate>
            <description><![CDATA[<p>（一）梁实秋说：“你走，我不送；你来，无论风雨，我必接你。”</p>
<p>（二）海明威说：“优于他人并不高贵，真正的高贵是超越自我。”</p>
<p>（三）三毛说：“如果有来生，我愿做一棵树，<strong>立于永恒，姿态不悲伤</strong>。一半扎根尘土，安详；一半飞扬空中，洒满阳光。沉默而骄傲，从不依赖，亦不寻求。”</p>
]]></description>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <p>（一）梁实秋说：“你走，我不送；你来，无论风雨，我必接你。”</p>
<p>（二）海明威说：“优于他人并不高贵，真正的高贵是超越自我。”</p>
<p>（三）三毛说：“如果有来生，我愿做一棵树，<strong>立于永恒，姿态不悲伤</strong>。一半扎根尘土，安详；一半飞扬空中，洒满阳光。沉默而骄傲，从不依赖，亦不寻求。”</p>
<!-- more -->
<p>（四）顾漫说：“一个笑，足以击败一生；一滴泪，能偿还一人。岁月流转，无人问津，我依然绽放。”</p>
<p>（五）毕淑敏说：“真正的心，不需华丽，却必须坚韧。”</p>
<p>（六）七堇年说：“<strong>人生如路，需在荒凉中走出繁华</strong>。”</p>
<p><img src="/static/img/56078237679d8d75af63df8ddc6b766a.image.png" alt="image.png"></p>
<p>（七）徐志摩说：“走着走着，渐行渐远；看着看着，星光黯淡；听着听着，心生埋怨；回头望去，你已不见，心中瞬乱。”</p>
<p>（八）徐志摩说：“一生至少要有一次，为了某个人，忘却自我。不求结果，不求同行，不求曾经拥有，甚至不求你爱我，<strong>只愿在最美年华里，遇见你</strong>。”</p>
<p>（九）朱德庸说：“人生如迷宫，上半生寻找入口，下半生寻找出口。”</p>
<p>（十）顾城说：“我从未被谁记得，也未被谁遗忘。活在他人的回忆里，并非我的目标。”</p>
<p>（十一）村上春树说：“孤独从不是喜欢，只是不想再失望。”</p>
<p>（十二）徐志摩说：“若真相伤人，便选择谎言；若谎言伤人，便选择沉默；若沉默伤人，便选择离开。”</p>
<p>（十三）村上春树说：“若我爱你，而你亦爱我，你的头发乱了，我会笑着为你整理，手在发间多留一会；若我爱你，而你不爱我，你的头发乱了，我只会轻轻告知你。最纯粹的爱情是：<strong>相爱时携手到老，错过时愿你安好</strong>。”</p>
<p><img src="/static/img/cf3bdae6143aecc2e2bb7bb43b290bed.image.png" alt="image.png"></p>
<p>（十四）海子说：“生命中，许多事情可以忘记，它们叫过去；无法忘记的，才叫记忆。一个人的寂寞，难以掩藏；时间久了，人会变得沉默，往日的情怀或许再也找不回。也许，只有站在终点的人，才会感到疲惫。其实，我一直明白，能与一个人同行一生，实属不易。”</p>
<p>（十五）席慕容说：“我们都是戏子，在别人的故事里，流着自己的泪。”</p>
<p>（十六）余秋雨说：“<strong>你的过去，我未能参与；你的未来，我愿陪伴到底</strong>。”</p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/心灵探索">心灵探索</category>
        </item>
        <item>
            <title><![CDATA[金钱诱惑测试：你对财富的渴望有多强烈？]]></title>
            <link>http://blog.wilsonzy.cn/post/154</link>
            <guid>http://blog.wilsonzy.cn/post/154</guid>
            <pubDate>Sat, 26 Apr 2025 04:30:53 GMT</pubDate>
            <description><![CDATA[<h1>小测试：钱对你的诱惑有多大？</h1>
<p><img src="/static/img/dd7878ea894e514756f1c8abe8fd5d40.image.png" alt="image.png"></p>
<p>如果让你扮个鬼脸，你认为扮成什么样最能让人害怕呢？</p>
]]></description>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <h1>小测试：钱对你的诱惑有多大？</h1>
<p><img src="/static/img/dd7878ea894e514756f1c8abe8fd5d40.image.png" alt="image.png"></p>
<p>如果让你扮个鬼脸，你认为扮成什么样最能让人害怕呢？</p>
<!-- more -->
<ul>
<li>A、惨白的脸色</li>
<li>B、冒绿光的眼睛</li>
<li>C、长舌头</li>
<li>D、七孔流血</li>
</ul>
<h3>A、选“惨白的脸色”——金钱诱惑指数 20%</h3>
<p>如果你选择了“惨白的脸色”，这表明你在性格上有阳光的一面。你是一个理智且稳重的人，能够清晰地分辨金钱在生活中的重要性。你追求的是生活的真正意义，而不是单纯的财富积累。对于你来说，<strong>金钱并不是衡量幸福的唯一标准，你更注重精神层面的满足</strong>。尽管偶尔会被一些诱惑所吸引，但你总能冷静分析，理性地做出选择，避免陷入金钱的陷阱。所以，你的金钱诱惑指数很低，仅为20%。</p>
<h3>B、选“冒绿光的眼睛”——金钱诱惑指数 90%</h3>
<p>如果你选择了“冒绿光的眼睛”，这意味着你对金钱的渴望极强，甚至有些过于执着。你认为赚钱是人生中的一项重要任务，并且常常把金钱看作是成功和自我价值的象征。在你眼里，不赚钱就等于不道德，缺少了物质基础的支撑，其他的一切都显得不那么重要。当金钱的诱惑出现在你面前时，你不会犹豫，认为这是命运馈赠的良机，你会毫不犹豫地抓住这个机会。然而，要注意的是，<strong>过度追求金钱可能会让你忽略其他人生中的重要元素，像是友情、爱情和健康等</strong>。金钱诱惑指数高达90%。</p>
<h3>C、选“长舌头”——金钱诱惑指数 50%</h3>
<p>如果你选择了“长舌头”，你是一个理性而警觉的人，能够在面对金钱诱惑时保持冷静。你会仔细评估每一笔交易或投资的风险，确保它不会带来不必要的损失。当面对金钱时，你会首先考虑其合法性和可行性，并且愿意花时间去分析其中可能存在的<strong>风险</strong>或<strong>陷阱</strong>。你不会盲目跟风，而是选择理智的方式去追求财富。因此，你的金钱诱惑指数为50%，处于中等水平，意味着你在金钱面前既保持警觉，又不会排斥合理的机会。</p>
<h3>D、选“七孔流血”——金钱诱惑指数 70%</h3>
<p>如果你选择了“七孔流血”，这表明你对金钱的诱惑有着较强的兴趣，虽然你不至于盲目追求，但依然会对工作和赚钱充满热情。你认为合法的赚钱方式是值得追求的，而且你<strong>愿意为实现更好的生活质量而努力工作</strong>。尽管金钱对你来说并非唯一的目标，但你不愿错过任何合法的机会。你倾向于在经济方面采取积极主动的态度，希望能够通过自己的努力获得更多的回报。所以，你的金钱诱惑指数为70%，属于较高的层次。</p>
<h2>总结</h2>
<p>这个测试不仅仅是关于你对金钱的欲望，也在某种程度上反映了你的价值观和生活态度。无论你的诱惑指数如何，最重要的是在<strong>面对金钱和诱惑时保持清醒和理性，平衡物质和精神需求</strong>，才能过上更充实、幸福的生活。</p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/创意灵感">创意灵感</category>
        </item>
        <item>
            <title><![CDATA[那些触动心弦的思绪]]></title>
            <link>http://blog.wilsonzy.cn/post/153</link>
            <guid>http://blog.wilsonzy.cn/post/153</guid>
            <pubDate>Sat, 26 Apr 2025 04:41:52 GMT</pubDate>
            <description><![CDATA[<ol>
<li><strong>幸福是年华的沉淀，微笑是寂寞的悲伤。</strong><br>
Happiness is the sediment of time, and a smile is the sadness of loneliness.</li>
</ol>
]]></description>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <ol>
<li><strong>幸福是年华的沉淀，微笑是寂寞的悲伤。</strong><br>
Happiness is the sediment of time, and a smile is the sadness of loneliness.</li>
</ol>
<!-- more -->
<ol start="2">
<li>
<p><strong>如果可以再相爱一次，我发誓一定用合适的方式来爱你。</strong><br>
If we could fall in love again, I swear I would love you the right way.</p>
</li>
<li>
<p><strong>不是假装沉默，只是无力诉说。</strong><br>
It’s not pretending to be silent, but simply lacking the strength to speak.</p>
</li>
<li>
<p><strong>任何一件事情，只要心甘情愿，总是能够变得简单。</strong><br>
Any task, as long as it’s done willingly, will always become simple.</p>
</li>
<li>
<p><strong>我只是怀念曾经，却忘记了我们都已不是曾经的自己。</strong><br>
I just miss the past, forgetting that we are no longer the people we once were.</p>
</li>
</ol>
<p><img src="/static/img/a7fa011cb14d1fbaa45e2012322847d1.image.png" alt="image.png"></p>
<ol start="6">
<li>
<p><strong>每个人生命里都会有那么一个人，让自己期待新一天的到来。</strong><br>
Everyone has someone in their life that makes them look forward to the new day.</p>
</li>
<li>
<p><strong>最痛的距离，是你不在我身边却在我心里。</strong><br>
The most painful distance is not having you beside me, yet you’re still in my heart.</p>
</li>
<li>
<p><strong>没有了你，这个世界多么寂寞。</strong><br>
Without you, how lonely this world would be.</p>
</li>
<li>
<p><strong>只因那时年少，总把未来想的太好。</strong><br>
Because we were young, we always imagined a perfect future.</p>
</li>
<li>
<p><strong>消失的是记忆，而留下的才是刻骨铭心的回忆。</strong><br>
What disappears is memory, and what remains are unforgettable recollections.</p>
</li>
<li>
<p><strong>如若只是喜欢，何必夸大成爱。</strong><br>
If it’s just liking, why exaggerate it into love?</p>
</li>
<li>
<p><strong>当拥有已经是失去，就勇敢的放弃。</strong><br>
When having it means losing it, be brave enough to let go.</p>
</li>
<li>
<p><strong>借鉴昨天，活在今天，憧憬明天。</strong><br>
Learn from yesterday, live for today, and hope for tomorrow.</p>
</li>
<li>
<p><strong>有时爱情是朵含蓄的花，需要时间才会怒放。</strong><br>
Sometimes, love is a shy flower that needs time to bloom.</p>
</li>
<li>
<p><strong>不回头，只是还没找到留下的理由。</strong><br>
I don't look back, I just haven’t found a reason to stay.</p>
</li>
</ol>
<p><img src="/static/img/6d0fed059af704557c72e5b98d3461b4.image.png" alt="image.png"></p>
<ol start="16">
<li>
<p><strong>苍白的月光下，我和影子述说寂寞。</strong><br>
Under the pale moonlight, I share my loneliness with my shadow.</p>
</li>
<li>
<p><strong>生命是一束纯净的火焰，我们依靠自己内心看不见的太阳而存在。</strong><br>
Life is a pure flame, and we exist by the invisible sun within us.</p>
</li>
<li>
<p><strong>苍白的文字，有谁能看出这一个人的辛酸。</strong><br>
Pale words, who can see the bitterness behind them?</p>
</li>
<li>
<p><strong>时间会摒弃那些滑稽的誓言，直至我们也苟同。</strong><br>
Time will discard those foolish promises, until we too agree.</p>
</li>
<li>
<p><strong>幸福中总会掺加那些悲哀的元素。</strong><br>
Happiness always contains elements of sadness.</p>
</li>
<li>
<p><strong>没有人值得你流泪，值得让你这么做的人不会让你哭泣。</strong><br>
No one is worth your tears; the one who is worth it will never make you cry.</p>
</li>
<li>
<p><strong>爱情把一切冷酷之心变成温柔。</strong><br>
Love turns all cold hearts into gentle ones.</p>
</li>
<li>
<p><strong>上一秒还在相爱的我们，下一秒却要接受分离。</strong><br>
In one moment, we were in love, and in the next, we must accept separation.</p>
</li>
<li>
<p><strong>雨下得很大，我们是否该要选择躲在避风港里。</strong><br>
The rain is heavy; should we seek shelter in a safe haven?</p>
</li>
<li>
<p><strong>爱是一盏永不昏暗的明灯。</strong><br>
Love is a light that never dims.</p>
</li>
</ol>
<p><img src="/static/img/2bc0502c5c61c3e8f5fa120c12f998a2.image.png" alt="image.png"></p>
<ol start="26">
<li>
<p><strong>时光并不残忍， 只是对于它来说我们太脆弱。</strong><br>
Time is not cruel; it’s just that we are too fragile for it.</p>
</li>
<li>
<p><strong>友谊常以爱情而结束；而爱情从不能以友谊而告终。</strong><br>
Friendship often ends in love, but love can never end in friendship.</p>
</li>
<li>
<p><strong>如果我说我想一个人静一静，其实我比任何时候都需要你。</strong><br>
If I say I want to be alone, it’s actually because I need you more than ever.</p>
</li>
<li>
<p><strong>我爱你不是因为你是谁，而是我在你面前可以是谁。</strong><br>
I love you not for who you are, but for who I become when I am with you.</p>
</li>
<li>
<p><strong>我总是爱蹲下来看地上时光的痕迹，像一行一行蚂蚁穿越我的记忆。</strong><br>
I love to squat down and observe the traces of time on the ground, like ants marching through my memories.</p>
</li>
<li>
<p><strong>失去某人，最糟糕的莫过于，他近在身旁，却犹如远在天边。</strong><br>
The worst way to miss someone is to have them right beside you, yet feel as if they’re miles away.</p>
</li>
<li>
<p><strong>我站在天堂向你俯身凝望，就像你凝望我一样略带忧伤。</strong><br>
I stand in heaven, gazing down at you with a slight sorrow, just as you once gazed at me.</p>
</li>
<li>
<p><strong>永远不是一种距离，而是一种决定。</strong><br>
Forever is not a distance, but a decision.</p>
</li>
<li>
<p><strong>我只是一朵向日葵，等待着属于我的唯一的阳光。</strong><br>
I am just a sunflower, waiting for my one and only sunshine.</p>
</li>
</ol>
<p><img src="/static/img/7d2b604946f5c0913ba98a4b2f06c98f.image.png" alt="image.png"></p>
<ol start="35">
<li>
<p><strong>你改变不了昨天，但如果你过于忧虑明天，将会毁了今天。</strong><br>
You can’t change the past, but if you worry too much about tomorrow, you will ruin today.</p>
</li>
<li>
<p><strong>最糟糕的感觉并不是孤独，而是你难以忘怀的那个人，彻底把你忘记了。</strong><br>
The worst feeling isn’t loneliness; it’s when the person you can’t forget has completely forgotten you.</p>
</li>
<li>
<p><strong>默默无闻，但被一人深爱，要好过声名显赫却没人去爱。</strong><br>
To be unknown but deeply loved by one person is better than being famous yet unloved by anyone.</p>
</li>
<li>
<p><strong>错过只在一瞬，思念却是一世。</strong><br>
A missed opportunity lasts but a moment, while longing lasts a lifetime.</p>
</li>
<li>
<p><strong>智慧就是懂得该忽略什么的艺术。</strong><br>
Wisdom is the art of knowing what to overlook.</p>
</li>
<li>
<p><strong>爱情就像沙漏，心满了，脑子就空了。</strong><br>
Love is like an hourglass: the heart fills, and the mind empties.</p>
</li>
<li>
<p><strong>有时候，心中所承受之重是无法用言语来表达的。</strong><br>
Sometimes, the weight in the heart cannot be expressed in words.</p>
</li>
<li>
<p><strong>幸福是孤寂的灵魂遭遇爱的邂逅。</strong><br>
Happiness is when a lonely soul meets the encounter of love.</p>
</li>
<li>
<p><strong>总有那么一首歌，让你陷入深深的回忆。</strong><br>
There’s always that one song that brings you into deep memories.</p>
</li>
<li>
<p><strong>爱情可能随着季节的变迁而消退，但友情会为你全年守候。</strong><br>
Love may fade with the seasons, but friendship will wait for you all year round.</p>
</li>
</ol>
<p><img src="/static/img/63e8ff37d961277e188196445a7d5630.image.png" alt="image.png"></p>
<ol start="45">
<li>
<p><strong>不要因为结束而哭泣，微笑吧，为你的曾经拥有。</strong><br>
Don’t cry because it’s over; smile because it happened.</p>
</li>
<li>
<p><strong>我除了你什么都没有。</strong><br>
I have nothing but you.</p>
</li>
<li>
<p><strong>相遇是命运的安排，而离开却是心底的选择。</strong><br>
Meeting is fate’s arrangement, but leaving is a choice from the heart.</p>
</li>
<li>
<p><strong>每一次的擦肩而过，都是生命中未曾拥有的另一种错过。</strong><br>
Every brush of the shoulder is another kind of miss in life that was never meant to be.</p>
</li>
<li>
<p><strong>有时候，最美的风景是回头看到的风景，而不是眼前的繁华。</strong><br>
Sometimes, the most beautiful view is the one seen when you turn back, not the bustling scenery in front of you.</p>
</li>
<li>
<p><strong>孤独并不是没有人陪伴，而是没有人懂你心中的寂寞。</strong><br>
Loneliness isn’t the absence of company; it’s the absence of someone who understands the solitude in your heart.</p>
</li>
</ol>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/心灵探索">心灵探索</category>
        </item>
        <item>
            <title><![CDATA[价值是创造财富的第一要义]]></title>
            <link>http://blog.wilsonzy.cn/post/152</link>
            <guid>http://blog.wilsonzy.cn/post/152</guid>
            <pubDate>Fri, 25 Apr 2025 14:22:32 GMT</pubDate>
            <description><![CDATA[<p>在当今社会，无论是个人财富的积累，还是企业的成功，都离不开一个核心要素—— <strong>价值</strong>。<strong>财富的积累不仅仅是物质的堆积，更是价值的创造和传递的结果</strong>。无论是在个人层面，还是在宏观经济层面，只有创造出真正的价值，才能实现财富的增长与长期的可持续性发展。因此，价值不仅仅是财富的基础，更是财富创造的第一要义。</p>
]]></description>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <p>在当今社会，无论是个人财富的积累，还是企业的成功，都离不开一个核心要素—— <strong>价值</strong>。<strong>财富的积累不仅仅是物质的堆积，更是价值的创造和传递的结果</strong>。无论是在个人层面，还是在宏观经济层面，只有创造出真正的价值，才能实现财富的增长与长期的可持续性发展。因此，价值不仅仅是财富的基础，更是财富创造的第一要义。</p>
<!-- more -->
<h3>一、价值是财富积累的源泉</h3>
<p>从经济学的角度来看，财富的本质是通过劳动、创造、交换等手段所形成的价值。在个人层面，<strong>财富的积累往往源于个人能力的提升、知识的储备以及劳动的付出</strong>。一个人能够通过提供有价值的服务或产品，为社会解决问题，满足需求，从而获得回报。这些回报在积累的过程中，逐渐转化为财富。</p>
<p><img src="/static/img/d604fde847cc59c9104e98c32e707fa7.image.png" alt="image.png"></p>
<p>例如，一个创业者通过创新的产品或服务，满足了市场的需求，创造了独特的价值。随着需求的增加，收入不断增长，最终形成了财富的积累。而这一切的源头，就是创业者所创造的“价值”。如果没有价值的创造，无论是短期的盈利还是长期的财富积累，都无从谈起。</p>
<h3>二、企业如何通过价值创造财富</h3>
<p><strong>对于企业而言，价值创造是其成功与发展的核心</strong>。企业通过向市场提供有价值的产品或服务，满足消费者的需求，才能获得竞争优势，获得市场份额。与此同时，企业也会通过提高运营效率、降低成本等手段，进一步提升创造的价值，从而实现更高的利润和更强的竞争力。</p>
<p><img src="/static/img/1323fabcc48c2d84aed0f15c8851d639.image.png" alt="image.png"></p>
<p>在竞争激烈的市场环境中，企业如果仅仅依靠价格竞争或模仿他人，而没有创新和独特的价值主张，最终是难以长期生存的。以苹果公司为例，苹果通过其独特的产品设计、卓越的用户体验和强大的品牌效应，成功创造了巨大的市场价值。因此，苹果不仅成为了全球市值最高的公司之一，也为股东创造了丰厚的财富。</p>
<h3>三、价值创造的长期视角</h3>
<p>从长远来看，财富的积累离不开价值创造的可持续性。短期的财富增长往往是偶然的，而长期的财富积累则必定依赖于持续的价值创新和增值。一个企业或个人，<strong>如果无法持续创造和提升价值，那么财富的增长最终会停滞</strong>。</p>
<p><img src="/static/img/42bd0879fb0abe119f2b809fa95337fe.image.png" alt="image.png"></p>
<p>这种持续的价值创造不仅仅体现在商业活动中，它还体现在社会的各个层面。无论是科技创新、文化创意，还是教育培训、环境保护，所有能够为社会带来长远福祉的活动，最终都会转化为财富。这些活动不仅提升了社会的整体生产力，也为参与其中的人创造了可持续的财富来源。</p>
<h3>四、如何创造真正的价值</h3>
<p>要创造真正的价值，首先需要<strong>具备深刻的洞察力和敏锐的市场嗅觉</strong>。只有理解社会、市场和人们的需求，才能真正识别出可以提供价值的机会。例如，互联网时代的到来，带来了信息的革命，而能够在这场革命中脱颖而出的公司，正是那些能够充分利用数字技术和数据分析，创造出更大社会价值的公司。</p>
<p><img src="/static/img/38b93feeb360317a8843ed7e0ac30ede.image.png" alt="image.png"></p>
<p>此外，<strong>持续创新也是价值创造的关键</strong>。创新不仅仅意味着技术上的突破，还包括管理创新、模式创新和服务创新等多个层面。企业和个人在不断变化的市场环境中，只有通过不断创新，提升产品和服务的附加值，才能始终保持竞争力，实现财富的持续增长。</p>
<h3>五、个人如何通过价值创造实现财富自由</h3>
<p>对于个人而言，价值创造的方式可能更多样。除了传统的就业方式，现代社会还提供了很多通过创新和自我提升来创造价值的途径。例如，通过<strong>不断学习和技能提升</strong>，个人可以<strong>提高自身的竞争力和市场价值</strong>，进而获得更高的薪酬和职业发展机会。</p>
<p>同时，个人还可以通过投资理财、创业等途径参与到财富创造的过程当中。在这些过程中，投资者或创业者需要善于发现市场中的潜力，找到真正能够创造社会价值的项目。通过智慧和努力，他们能够在创造价值的同时，也获得财富的回报。</p>
<p><img src="/static/img/87d83661ca778c34926cf8b0bb4ed57f.image.png" alt="image.png"></p>
<h3>六、价值与财富的共生关系</h3>
<p>只有通过持续的价值创新和提升，我们才能在复杂多变的世界中保持竞争力，并实现财富的增长与积累。</p>
<p>在未来，唯有那些能够持续创造价值的个体和企业，才能在经济的浪潮中脱颖而出，走向成功与繁荣。而对于每一个有志之士来说，<strong>理解并践行价值创造的理念，便是实现财富自由的第一步</strong>。</p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/个人成长">个人成长</category>
        </item>
        <item>
            <title><![CDATA[《活着》读后感：从失落中找到生存的力量]]></title>
            <link>http://blog.wilsonzy.cn/post/151</link>
            <guid>http://blog.wilsonzy.cn/post/151</guid>
            <pubDate>Fri, 25 Apr 2025 06:54:34 GMT</pubDate>
            <description><![CDATA[<p><img src="/static/img/718099aef4d007af8139cafb7f8b43e0.image.png" alt="image.png"></p>
<p>《活着》是余华的一部深刻且感人的小说，通过主人公福贵的一生，揭示了生命的无常与苦难的残酷。读完这本书，我的心情久久不能平复。福贵的经历宛如一部悲剧，但它又充满了生命力，深深震撼了我，并引发了对生命意义的深刻思考。</p>
]]></description>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <p><img src="/static/img/718099aef4d007af8139cafb7f8b43e0.image.png" alt="image.png"></p>
<p>《活着》是余华的一部深刻且感人的小说，通过主人公福贵的一生，揭示了生命的无常与苦难的残酷。读完这本书，我的心情久久不能平复。福贵的经历宛如一部悲剧，但它又充满了生命力，深深震撼了我，并引发了对生命意义的深刻思考。</p>
<!-- more -->
<p>福贵原本是一个富家少爷，过着无忧无虑的生活。然而，命运的捉弄让他从富贵跌入贫穷，失去的不仅是财富，还有家庭的温暖与依靠。无论是妻子家珍无私的支持，还是儿女们相继离世的沉痛，福贵始终在痛苦与绝望中挣扎。每一次的失去，都让他更加坚强，但同时也让他倍感疲惫与心碎。</p>
<p>书中的每一个细节都无不揭示出生命的脆弱与无奈，仿佛在提醒我们：<strong>人生是无法预知的</strong>，命运总是捉弄人，变化无常。而福贵能够在如此重重苦难面前坚持下来，正因为他内心深处对生活的执着与对家庭的深情。这份坚韧，似乎是人类最本能的力量，让他即便历经困苦，仍然在艰难的生活中找到生存的意义。</p>
<p>《活着》让我深刻意识到，生命的意义并不在于拥有多少财富与地位，而在于我们如何面对困境、如何在失落与痛苦中坚持下去。福贵那份坚韧不拔的毅力与对生活的热爱，提醒我：痛苦固然让人难以承受，但它也能让我们更深刻地理解生命的意义。即便面对生死的离别，福贵依然坚强地活着，最终他明白了 <strong>“活着”本身就是一种无尽的价值</strong>。</p>
<p>这本书促使我反思自己对待生活的态度。面对现实中的种种困难与挑战，我们是否像福贵一样，能够<strong>从痛苦中汲取力量，勇敢地走下去？在这个充满不确定的世界里，能够活得真实、活得有意义，才是我们最该追求的目标</strong>。</p>
<p>《活着》不仅是一部震撼心灵的作品，它还带给我们深刻的哲理：活在人世间，我们既要学会承受痛苦，也要学会珍惜每一个眼前的瞬间。每一个看似普通平凡的日子，都是我们活着的证明。</p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/书籍阅读">书籍阅读</category>
        </item>
        <item>
            <title><![CDATA[SurveyKing（卷王）本地 Docker 部署指南]]></title>
            <link>http://blog.wilsonzy.cn/post/150</link>
            <guid>http://blog.wilsonzy.cn/post/150</guid>
            <pubDate>Fri, 25 Apr 2025 06:55:26 GMT</pubDate>
            <description><![CDATA[<h1>SurveyKing（卷王）</h1>
<p><strong>SurveyKing</strong>（又称“卷王”）是一款功能强大的开源问卷调查与在线考试系统，基于 Java 开发，支持多种部署方式，适用于教育培训、市场调研、人力资源管理等多个领域。</p>
]]></description>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <h1>SurveyKing（卷王）</h1>
<p><strong>SurveyKing</strong>（又称“卷王”）是一款功能强大的开源问卷调查与在线考试系统，基于 Java 开发，支持多种部署方式，适用于教育培训、市场调研、人力资源管理等多个领域。</p>
<!-- more -->
<h2>核心功能亮点</h2>
<ul>
<li>
<p><strong>多种题型支持</strong>：提供超过 20 种题型，包括选择题、填空题、矩阵题、级联题、上传题、签名题等，满足复杂的问卷需求。</p>
</li>
<li>
<p><strong>灵活的问卷创建方式</strong>：支持 Excel 导入、文本导入以及在线编辑器创建问卷，方便用户快速构建问卷。</p>
</li>
<li>
<p><strong>强大的逻辑设置</strong>：支持跳转逻辑、显示/隐藏逻辑、值计算逻辑、必填逻辑等，能够根据用户的回答动态调整问卷内容，提高用户体验。</p>
</li>
<li>
<p><strong>数据分析与报表功能</strong>：提供实时统计分析，支持以图表（如条形图、柱形图、饼图）和表格形式展示数据，方便用户进行数据分析。</p>
</li>
<li>
<p><strong>考试与测评功能</strong>：支持题库抽题、抽题、客观题自动评分、主观题人工评分、防作弊配置、证书在线编制与发放等功能，适用于在线考试和测评。</p>
</li>
<li>
<p><strong>多终端适配与多人协作</strong>：系统界面响应式设计，适配电脑端和移动端；支持多人协作管理问卷，方便团队协作。</p>
</li>
<li>
<p><strong>简便的部署方式</strong>：支持一键部署（如 Windows、Docker）、前后端分离部署、单 JAR 包部署等，快速搭建系统。</p>
</li>
<li>
<p><strong>权限控制与安全性</strong>：内置 RBAC 权限控制，确保数据安全与访问权限管理。</p>
</li>
</ul>
<h2>应用场景</h2>
<p>SurveyKing 可泛应用于市场调研、教育培训、员工培训、客户满意度调查、产品反馈收集、在线考试与测评等场景。</p>
<h2>获取与部署</h2>
<ul>
<li><strong>官方网站</strong>：<a href="https://surveyking.cn/">surveyking.cn</a></li>
<li><strong>GitHub 开源项目</strong>：<a href="https://github.com/javahuang/SurveyKing">github.com/javahuang/SurveyKing</a></li>
<li><strong>Gitee 镜像</strong>：<a href="https://gitee.com/surveyking/surveyking">gitee.com/surveyking/surveyking</a></li>
</ul>
<p>您可以访问上述链接，获取更多信息或下载源码进行部署。</p>
<h2>安装</h2>
<p>在群晖上以 <strong>Docker</strong> 方式安装。<br>
在<strong>注册表</strong>中搜索 <strong>surveyking</strong> ，选择第一个 surveyking/surveyking，双击直接下载</p>
<p><img src="/static/img/15ad550e41c9498805239b26fe037fce.image.png" alt="image.png"></p>
<p>在 docker 文件夹中，创建一个新文件夹 surveyking，并在其中建两个子文件夹 files 和 logs</p>
<p><img src="/static/img/3a032fb088686e750fd640ab070df485.image.png" alt="image.png"><br>
端口映射</p>
<p><img src="/static/img/938b8532c8649729df2e53768649cf78.image.png" alt="image.png"></p>
<p>存储空间设置</p>
<table>
<thead>
<tr>
<th>文件夹</th>
<th>装载路径</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>docker/surveyking/files</td>
<td>/files</td>
<td>存放上传文件</td>
</tr>
<tr>
<td>docker/surveyking/logs</td>
<td>/logs</td>
<td>存放日志文件</td>
</tr>
</tbody>
</table>
<p><img src="/static/img/8b4b6ef2b36d15b7f86ca157e76cf5cf.image.png" alt="image.png"></p>
<h2>运行</h2>
<p>在浏览器中输入 http://IP:1991 就能看到登录界面</p>
<p><img src="/static/img/7a05c1a4868e2415a892088044325b4e.image.png" alt="image.png"></p>
<p>:::info{title=&quot;相关信息&quot;}<br>
默认账号/密码：admin/123456<br>
:::</p>
<p><img src="/static/img/18baea715b78ff9195e08a697acb36ef.image.png" alt="image.png"></p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/创意灵感">创意灵感</category>
        </item>
        <item>
            <title><![CDATA[职场小心机，避开这些坑！]]></title>
            <link>http://blog.wilsonzy.cn/post/149</link>
            <guid>http://blog.wilsonzy.cn/post/149</guid>
            <pubDate>Fri, 25 Apr 2025 06:55:43 GMT</pubDate>
            <description><![CDATA[<p>进厂一定要记住这几点！</p>
<p><img src="/static/img/2e0c77c8c2b5b0c07a5f5493caaa2553.image.png" alt="image.png"></p>
]]></description>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <p>进厂一定要记住这几点！</p>
<p><img src="/static/img/2e0c77c8c2b5b0c07a5f5493caaa2553.image.png" alt="image.png"></p>
<!-- more -->
<ul>
<li>
<p><strong>别炫耀副业</strong>——别让门卫听说你下班卖烤串，低调点。</p>
</li>
<li>
<p><strong>学会精准耳聋</strong>——当别人阴阳怪气时，专心上班，无视他们就好。</p>
</li>
<li>
<p><strong>别帮人代打卡</strong>——一旦出问题，背锅的就是你。</p>
</li>
<li>
<p><strong>八卦只听不传</strong>——不要随便和同事吐槽领导，少说多做。</p>
</li>
<li>
<p><strong>烟搭子不等于真兄弟</strong>——那些给你分烟的人，很可能是有求于你。</p>
</li>
<li>
<p><strong>别做职场老黄牛</strong>——活干得太快，可能会收获“能者多劳”的大礼包。</p>
</li>
<li>
<p><strong>领导朋友圈必点赞</strong>——尤其是TA发的励志鸡汤和模糊自拍，表现一下。</p>
</li>
<li>
<p><strong>摸鱼别太明显</strong>——小心被挂公告栏，保持低调。</p>
</li>
<li>
<p><strong>升职加薪听听就好</strong>——嘴巴上说的永远不如实际到手的更靠谱。</p>
</li>
<li>
<p><strong>别和情侣档组队</strong>——他们吵架时，你就是那个不得不演《金牌调解》的那个人。</p>
</li>
<li>
<p><strong>遇到哭诉当树洞</strong>——可以倾听，但不要跟着骂，转头TA可能和对方撸串去了。</p>
</li>
<li>
<p><strong>床头别放零食</strong>——蟑螂和室友，总有一个会首先找到它。</p>
</li>
</ul>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/职场进阶">职场进阶</category>
        </item>
        <item>
            <title><![CDATA[看开一点，生活更轻松]]></title>
            <link>http://blog.wilsonzy.cn/post/148</link>
            <guid>http://blog.wilsonzy.cn/post/148</guid>
            <pubDate>Fri, 25 Apr 2025 06:56:21 GMT</pubDate>
            <description><![CDATA[<p>当你月薪1万时，看到那些拿着苹果15的人，才不会觉得他们在炫耀；<br>
当你月薪5万时，背着LV包的人也不再显得特别张扬；<br>
当你年入百万时，那些开着奔驰宝马的人，你也不再认为他们在炫富。<br>
其实没人是在装，而是我们自己觉得不够优秀。</p>
]]></description>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <p>当你月薪1万时，看到那些拿着苹果15的人，才不会觉得他们在炫耀；<br>
当你月薪5万时，背着LV包的人也不再显得特别张扬；<br>
当你年入百万时，那些开着奔驰宝马的人，你也不再认为他们在炫富。<br>
其实没人是在装，而是我们自己觉得不够优秀。</p>
<!-- more -->
<p><img src="/static/img/655a2734b6cafe9159de59a421a0f7ec.image.png" alt="image.png"></p>
<p>与其去盯着别人的生活，不如过好自己的。<br>
生活是属于你的，不必为难自己。<br>
根据自己的能力，过自己舒适的生活，<strong>尽力而为，量力而行</strong>。</p>
<p>事实上，<strong>父母健在、朋友在身旁、身体健康</strong>，这些已经是值得<strong>感恩</strong>的幸运。<br>
而且每个人都有自己的烦恼，或许在别人眼里，你也是值得羡慕的对象。</p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/生活琐记">生活琐记</category>
        </item>
        <item>
            <title><![CDATA[现实的残酷与坚持]]></title>
            <link>http://blog.wilsonzy.cn/post/147</link>
            <guid>http://blog.wilsonzy.cn/post/147</guid>
            <pubDate>Fri, 25 Apr 2025 06:56:39 GMT</pubDate>
            <description><![CDATA[<p>五六千的工资，连请假的勇气都没有。</p>
<p><img src="/static/img/eb0067b9408de5e6c728a8f1698ddeff.image.png" alt="image.png"></p>
<p>一天两百的收入，闹钟一响，脑海里满是辞职的念头，可是每个月都在坚持满勤，始终没有放弃。<br>
我们这个年纪，居然为了生活过得如此艰难，真是令人心酸。<br>
在社会上闯荡几年后你会明白：没有背景、没有机会、没有贵人，成功真的很难。</p>
]]></description>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <p>五六千的工资，连请假的勇气都没有。</p>
<p><img src="/static/img/eb0067b9408de5e6c728a8f1698ddeff.image.png" alt="image.png"></p>
<p>一天两百的收入，闹钟一响，脑海里满是辞职的念头，可是每个月都在坚持满勤，始终没有放弃。<br>
我们这个年纪，居然为了生活过得如此艰难，真是令人心酸。<br>
在社会上闯荡几年后你会明白：没有背景、没有机会、没有贵人，成功真的很难。</p>
<!-- more -->
<p><img src="/static/img/93e31b4096c7f476e53f25ee5f6edb31.image.png" alt="image.png"></p>
<p>成功不是靠几句空洞的鸡汤就能获得的，而是需要脚踏实地的努力。<br>
但即使如此，我们依然得继续前行，因为这就是现实。</p>
<p>最近，我很喜欢一句话：“<strong>熬得住无人问津的寂寞，才配得上拥有诗和远方</strong>。而一直陪着你走下去的，永远是那个了不起的自己。”</p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/生活琐记">生活琐记</category>
        </item>
        <item>
            <title><![CDATA[黄帝内经智慧：快乐心态与健康生活的五大秘诀]]></title>
            <link>http://blog.wilsonzy.cn/post/146</link>
            <guid>http://blog.wilsonzy.cn/post/146</guid>
            <pubDate>Fri, 25 Apr 2025 06:57:08 GMT</pubDate>
            <description><![CDATA[<p>黄帝内经说：</p>
<p>其实人90%的疾病都是可以自愈的，</p>
]]></description>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <p>黄帝内经说：</p>
<p>其实人90%的疾病都是可以自愈的，</p>
<!-- more -->
<p><img src="/static/img/1cbd645361333c5031acd2e917fa40aa.image.png" alt="image.png"></p>
<p><strong>人越快乐，免疫力越高</strong>。<br>
只要一快乐，就会经脉通畅，经脉一通畅，免疫力就高了。</p>
<p><strong>心态是人生最好的风水</strong>，<br>
心小了，鸡毛蒜皮都是大事；心大了，天大的事都是小事。</p>
<p><img src="/static/img/9106e267a0ce9adec19caf23f0249f5f.image.png" alt="image.png"></p>
<p>欲成大事，莫与草争，遇烂人及时止损，遇烂事及时抽身。</p>
<p><strong>世界上最好的五个医生：阳光，睡眠，运动，饮食，自爱</strong>。</p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/书籍阅读">书籍阅读</category>
        </item>
        <item>
            <title><![CDATA[你开始变强的五个表现]]></title>
            <link>http://blog.wilsonzy.cn/post/145</link>
            <guid>http://blog.wilsonzy.cn/post/145</guid>
            <pubDate>Sat, 19 Apr 2025 07:26:25 GMT</pubDate>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <!-- more -->
<p>1、<strong>嘴巴</strong>开始越来越<strong>紧</strong>，送礼开始越来越狠.说话开始越来越慢，<strong>行动</strong>开始越来越<strong>快</strong>。</p>
<p>2、<strong>情绪越来越稳定</strong>，脾气越来越小，格局越来越大。对亲近的人越来越好。</p>
<p>3、明白了形象的重要性。人是三观跟着五官走，<strong>形象好</strong>，就意味着朋友多，机会多。</p>
<p>4、放弃游戏、闲聊以及无效社交，开始<strong>专注于工作学习，专注搞钱搞事业</strong>。</p>
<p>5、开始<strong>规划作息</strong>，开始<strong>锻炼身体</strong>、对自己的人生、家的负责、责任感越来越强。</p>
<p><img src="/static/img/27c8b1d180e71bcbb9c73f1028217945.image.png" alt="image.png"></p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/生活琐记">生活琐记</category>
        </item>
        <item>
            <title><![CDATA[一定要对钱有概念]]></title>
            <link>http://blog.wilsonzy.cn/post/144</link>
            <guid>http://blog.wilsonzy.cn/post/144</guid>
            <pubDate>Fri, 25 Apr 2025 06:57:35 GMT</pubDate>
            <description><![CDATA[<p><strong>千万不要把自己的人生浪费在安逸与混日子上</strong>。<br>
如果你每个月挣五千，一年下来是6万。你20岁的时候不拼，到30岁时你已经浪费了60万。想想看，这些钱如果早早存下来，投资理财，你的财富就能实现指数级增长。10年下来，60万的差距，不仅仅是金钱的流失，更是机会的错失。</p>
]]></description>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <p><strong>千万不要把自己的人生浪费在安逸与混日子上</strong>。<br>
如果你每个月挣五千，一年下来是6万。你20岁的时候不拼，到30岁时你已经浪费了60万。想想看，这些钱如果早早存下来，投资理财，你的财富就能实现指数级增长。10年下来，60万的差距，不仅仅是金钱的流失，更是机会的错失。</p>
<!-- more -->
<p><img src="/static/img/4401ee1053f6bd4611e66b98ac3f70e6.image.png" alt="image.png"></p>
<p>很多人到了30岁，还没有存款，甚至没有稳定的收入来源。更糟糕的是，遇到亲人有困难时，自己却拿不出一分钱。那时候，再多的眼泪也换不来别人伸手的帮助。你低声下气去向别人求助，但别人屋檐再大，也比不上自己拥有一把伞。在关键时刻，<strong>你的自力更生才是最坚实的保障</strong>。</p>
<p><img src="/static/img/3a96e77f9172647287ec307dc8ee2e97.image.png" alt="image.png"></p>
<p>趁年轻，趁现在能拼搏的时光，不要轻易选择安逸。<strong>奋斗的年纪不是享乐的时候，而是积累财富、增加能力、打好基础的时期</strong>。未来的你，会感谢今天拼尽全力的自己。也许眼下你觉得努力不一定立刻能见成效，但长期来看，所有的付出都会转化为未来的收获。</p>
<p><strong>当你的工资发到手时，先别急着消费。先把50%存起来，这不仅仅是为了积蓄，更是为了未来有足够的底气去面对生活中的不确定性。剩下的50%才能用来满足你的生活和娱乐需求</strong>。在每个月开始时，就要规划好自己能支配的生活费，娱乐支出等，做到心中有数，避免盲目消费，理性规划自己的财务。</p>
<p><img src="/static/img/efcdd7f2a3ccc5bac6ea2491732318f9.image.png" alt="image.png"></p>
<p>记住，赚钱和管理自己的钱一样重要。<strong>你必须要在年轻时就抓住机会，好好经营自己，提升自己的能力和积蓄。而不是等到生活压力爆发时，才后悔当初没有尽早行动</strong>。现在谈“岁月静好”可能有点早，因为真正的“岁月静好”，是建立在经济独立、能力强大的基础之上的。当你自己有了足够的经济实力，你就会发现，生活不仅仅是温暖和舒适，更多的是自信和自由。</p>
<p>因此，从现在开始，认真对待每一分钱，不断提升自己的赚钱能力，努力积累财富。只有这样，你才能掌控自己的生活，真正做到自由而富有。</p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/生活琐记">生活琐记</category>
        </item>
        <item>
            <title><![CDATA[职场中的那些你必须知道的真相]]></title>
            <link>http://blog.wilsonzy.cn/post/143</link>
            <guid>http://blog.wilsonzy.cn/post/143</guid>
            <pubDate>Sat, 19 Apr 2025 07:12:13 GMT</pubDate>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <!-- more -->
<ol>
<li>
<p>有能力的人，无论在哪里都能脱颖而出；而没有能力的人，换多少工作也无济于事。</p>
</li>
<li>
<p>大公司能给你20000的薪水，小公司未必看得上你。</p>
</li>
<li>
<p>曾经亲密的同事，离职后关系往往变淡。工作是赚钱的地方，不是交朋友的地方。</p>
</li>
<li>
<p>别告诉父母你辞职的事，他们会让你更加焦虑。</p>
</li>
<li>
<p>你并不那么重要，谁都可以被替代。即便你觉得自己很优秀，离开后公司照样运转。</p>
</li>
<li>
<p>分手能看人品，离职能看公司真面目。辞职时，必要的记录和录音要做好，走得不体面是常态。</p>
</li>
</ol>
<p><img src="/static/img/082b8a93996c9d02ace1aea3f6daba30.image.png" alt="image.png"></p>
<ol start="13">
<li>
<p>辞职后就要果断离开，不要回头，“开弓没有回头箭”。提了辞职，越快越好。</p>
</li>
<li>
<p>离职前，别人对你尊敬，往往是因为你的职位，而非你个人。</p>
</li>
<li>
<p>年龄越大，转行越难，意味着过去的经验、人脉都得重新开始。</p>
</li>
<li>
<p>工作中遇到的问题，不应通过辞职解决，否则你到哪里都会遇到类似的困境。</p>
</li>
<li>
<p>上班时做什么决定你的当前收入，下班后做什么决定你的未来收入。</p>
</li>
<li>
<p>下班后的副业是现代职场人最重要的保障。</p>
</li>
<li>
<p>一旦你提了辞职，领导或老板会认为你背叛了公司，态度会180°转变。</p>
</li>
<li>
<p>离职时一定要清理个人电脑中的一切工作资料。</p>
</li>
<li>
<p>离开就不要再回来，回头草不值得吃，重蹈覆辙只是浪费时间。</p>
</li>
</ol>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/职场进阶">职场进阶</category>
        </item>
        <item>
            <title><![CDATA[十种必备开场白，助你轻松开启每一场对话]]></title>
            <link>http://blog.wilsonzy.cn/post/142</link>
            <guid>http://blog.wilsonzy.cn/post/142</guid>
            <pubDate>Sat, 19 Apr 2025 08:02:50 GMT</pubDate>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <!-- more -->
<p><img src="/static/img/f655a964ba7d3fe0e58f808b7bc38718.image.png" alt="image.png"></p>
<h3>1. 亲切问候与感谢</h3>
<p>:::tip<br>
“尊敬的各位领导、亲爱的同事们，大家好！首先，非常感谢大家在百忙之中抽出宝贵时间参加今天的会议。今天的会议意义重大，我非常荣幸能够和各位一起探讨[<strong>XX议题</strong>]，我相信通过大家的共同努力，我们一定能够取得理想的成果。”<br>
:::</p>
<p><strong>场景示例</strong>：如果这是一个跨部门会议，可以额外感谢参与的不同部门，表明跨部门合作的重要性。</p>
<p>:::note{title=&quot;例如&quot;}<br>
“我们今天聚集在一起，来自销售、技术、市场等多个部门。我相信只有通过大家的紧密协作，我们才能共同克服接下来的挑战。”<br>
:::</p>
<h3>2. 明确会议主题</h3>
<p>:::tip{title=&quot;提示&quot;}<br>
“今天，我们将重点讨论如何在[<strong>具体领域</strong>]中实现突破，特别是如何应对[<strong>XX行业现状</strong>]带来的挑战，抓住即将到来的机遇。在接下来的讨论中，我希望我们不仅要了解目前的现状，还要思考如何通过创新的方式突破困境，推动公司实现可持续发展。”<br>
:::</p>
<p><strong>场景示例</strong>：你可以具体说明这个议题为什么现在如此重要，或者通过引用行业趋势来增强主题的紧迫感。<br>
:::note{title=&quot;例如&quot;}<br>
“近年来，随着[<strong>XX技术</strong>]的快速发展，行业格局发生了剧变。对此，我们需要制定清晰的应对战略，确保在这场变革中占得先机。”<br>
:::</p>
<h3>3. 提出问题激发思考</h3>
<p>:::tip{title=&quot;提示&quot;}<br>
“各位，大家有没有想过，为什么我们在面对[<strong>某个行业问题</strong>]时，似乎总是遇到瓶颈？这个问题不仅仅是某一部分员工或部门的问题，它关乎整个团队的效率和协同能力。我想通过今天的讨论，大家可以共同探索如何解决这个长期困扰我们的问题。”<br>
:::</p>
<p><strong>场景示例</strong>：结合具体的行业痛点或者内部工作中出现的具体问题，让听众感同身受。<br>
:::note{title=&quot;例如&quot;}<br>
“每次我们讨论项目进度，似乎总是受到[<strong>沟通不畅、资源分配不均等</strong>]的影响，导致计划难以按时完成。今天，我们将探讨如何改进这一点。”<br>
:::</p>
<h3>4. 分享故事或案例</h3>
<p>:::tip{title=&quot;提示&quot;}<br>
“让我与大家分享一个关于[<strong>XX话题</strong>]的真实故事。几年前，某知名公司面临类似的市场挑战，它们通过[<strong>具体措施</strong>]成功扭转了困境，最终实现了[<strong>具体成果</strong>]。这给我们带来的启示是，面对困境时，创新思维和灵活应对尤为重要。”<br>
:::</p>
<p><strong>场景示例</strong>：结合公司或行业内的成功与失败案例，以具体数据和成果支撑故事，增加可信度和吸引力。<br>
:::note{title=&quot;例如&quot;}<br>
“例如，某国际零售巨头通过重新设计供应链流程，不仅降低了20%的成本，还提高了30%的客户满意度，这正是他们在困境中抓住机会的结果。”<br>
:::</p>
<h3>5. 使用权威数据</h3>
<p>:::tip{title=&quot;提示&quot;}<br>
“根据2024年最新发布的行业报告，超过80%的企业表示，未来三年内，[<strong>某个趋势或技术</strong>]将深刻影响他们的业务模式。而我们今天讨论的正是如何利用这一趋势，从而提前布局，增强我们的市场竞争力。”<br>
:::</p>
<p><strong>场景示例</strong>：引入最新的市场研究或报告数据，确保数据的时效性和相关性。<br>
:::note{title=&quot;例如&quot;}<br>
“最近的一项调查显示，随着数字化转型的深入，超过60%的中小企业表示将加大在云计算和人工智能领域的投资。这是一个迫切的信号，告诉我们必须赶上这波潮流，否则可能会面临被市场淘汰的风险。”<br>
:::</p>
<h3>6. 设置悬念</h3>
<p>:::tip{title=&quot;提示&quot;}<br>
“今天，我带来了一个全新的提案，可能会彻底改变我们现有的工作模式和业务流程。这个提案不仅涉及到新的技术应用，还可能会涉及到我们日常工作中的很多环节。我相信，它会为我们带来前所未有的机遇和挑战。请大家保持期待，稍后我将详细介绍。”<br>
:::</p>
<p><strong>场景示例</strong>：设置悬念时，给听众留下足够的空间进行猜测，同时预告即将发布的重要内容，增强期待感。<br>
:::note{title=&quot;例如&quot;}<br>
“在接下来的环节中，我将为大家介绍一个新的合作伙伴，这个合作伙伴可能会为我们的产品带来颠覆性的创新。”<br>
:::</p>
<h3>7. 强调会议价值</h3>
<p>:::tip{title=&quot;提示&quot;}<br>
“今天的会议将帮助我们更好地了解[<strong>某个领域</strong>]的最新发展，并且提供一个平台，让大家分享各自的经验和观点。通过集思广益，我相信我们不仅能够找到解决问题的最佳方案，还能为公司的未来发展提供有力的支持。”<br>
:::</p>
<p><strong>场景示例</strong>：通过描述会议的长远价值，使参与者感受到自己的作用。<br>
:::note{title=&quot;例如&quot;}<br>
“我们今天不仅是在讨论问题，我们更是在为未来的发展奠定基础。你们的每一个意见，都可能成为我们下一步战略决策的关键。”<br>
:::</p>
<h3>8. 展示热情与兴趣</h3>
<p>:::tip{title=&quot;提示&quot;}<br>
“我对今天的话题充满激情，因为它不仅关乎公司的未来发展，更关乎我们每一个人的职业成长。我坚信，通过今天的讨论，我们可以找到许多前所未有的创新解决方案。希望大家能够积极发言，提出自己独特的见解和想法。”<br>
:::</p>
<p><strong>场景示例</strong>：在表达热情时，可以结合个人的经历或情感，拉近与听众的距离。<br>
:::note{title=&quot;例如&quot;}<br>
“在过去的一年里，我一直在密切关注[<strong>行业发展趋势</strong>]，每一次的变化都让我深感兴奋。今天终于有机会与大家一起探讨这个话题，真的让我充满期待！”<br>
:::</p>
<h3>9. 建立情感联系</h3>
<p>:::tip{title=&quot;提示&quot;}<br>
“在座的各位，大家的经验和智慧是我们公司最宝贵的资产。无论你是刚加入的新成员，还是已经在岗位上深耕多年的资深员工，你们的想法和意见都是今天讨论的核心。我相信，通过彼此的交流，我们能够找到更好的解决方案，推动公司的进一步发展。”<br>
:::</p>
<p><strong>场景示例</strong>：通过情感共鸣让听众感受到会议的意义。<br>
:::note{title=&quot;例如&quot;}<br>
“我知道大家都有非常宝贵的经验，无论是日常工作的挑战，还是在项目中的成功经验，都对我们今天的讨论非常重要。”<br>
:::</p>
<h3>10. 鼓励互动与讨论</h3>
<p>:::tip{title=&quot;提示&quot;}<br>
“今天的会议不仅仅是单纯的报告，我希望它能成为大家互动和碰撞思想的舞台。每个人的意见都非常宝贵，别害怕提出任何问题或建议，因为我们每个人的思考都会为我们的决策提供更多视角。”<br>
:::</p>
<p><strong>场景示例</strong>：鼓励听众互动时，可以提前设置问题或者分组讨论，增加参与感。<br>
:::note{title=&quot;例如&quot;}<br>
“在接下来的讨论环节，我希望大家能就[<strong>具体问题</strong>]提出自己的看法。我们会分成小组，进行头脑风暴，最终汇总出最具创意的方案。”<br>
:::</p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/个人成长">个人成长</category>
        </item>
        <item>
            <title><![CDATA[【职场】如何在面试中体面地解释离职原因]]></title>
            <link>http://blog.wilsonzy.cn/post/141</link>
            <guid>http://blog.wilsonzy.cn/post/141</guid>
            <pubDate>Fri, 25 Apr 2025 06:58:06 GMT</pubDate>
            <description><![CDATA[<p>面试是展示自己能力和职业素养的关键时刻，而解释离职原因则是其中一个常见且重要的问题。<br>
很多求职者在这一环节感到不安，因为不希望给面试官留下不好的印象。事实上，如何体面地解释离职原因，不仅能帮助你展现职业素养，还能给面试官留下积极的印象。</p>
]]></description>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <p>面试是展示自己能力和职业素养的关键时刻，而解释离职原因则是其中一个常见且重要的问题。<br>
很多求职者在这一环节感到不安，因为不希望给面试官留下不好的印象。事实上，如何体面地解释离职原因，不仅能帮助你展现职业素养，还能给面试官留下积极的印象。</p>
<!-- more -->
<p><img src="/static/img/641e79d2b2354850f69a379b23e0a02e.image.png" alt="image.png"></p>
<p>本文将探讨几个有效的策略，帮助你在面试中以体面的方式回答离职原因。</p>
<h3>1. 保持积极和建设性的态度</h3>
<p><strong>无论你的离职原因是什么，都尽量避免表现出对前公司的负面情绪</strong>。即使是因为与同事或上司的矛盾，或者对公司文化的不适应，尽量以一种中立且建设性的方式来表达。你可以强调你对前公司的感激，并且表达离职是为了更好地寻找适合自己成长的机会，而不是单纯地批评过去的工作环境。<br>
:::info{title=&quot;示例&quot;}<br>
“我非常感激在之前公司获得的经验，这段经历让我学到了很多。然而，随着时间的推移，我发现自己的职业目标与公司的发展方向有所偏离。为了能够更好地实现个人职业发展，我决定寻求一个更加符合我长期目标的机会。”<br>
:::</p>
<h3>2. 强调职业发展的需求</h3>
<p>如果你的离职原因是因为薪资待遇、职业晋升机会有限或对工作内容不满意，可以<strong>强调你希望能够有更多的发展空间和挑战</strong>。面试官通常能够理解员工因为寻求职业发展的机会而选择离开。此时，你可以将重点放在自己的成长需求上，而不是直接批评公司或职位的不足。<br>
:::info{title=&quot;示例&quot;}<br>
“在之前的工作中，我积累了丰富的经验，但我觉得自己在某些领域的成长受到了限制。为了能更好地发挥我的潜力，我希望能在一个能够提供更多挑战和晋升机会的环境中工作。”<br>
:::</p>
<h3>3. 提及对新环境的期待</h3>
<p>如果你离开是因为想寻找不同的工作环境或新的行业挑战，可以<strong>强调你对新机会的渴望</strong>，并表达你希望能够进入一个能够提供更多学习机会和职业发展的公司。这种回答可以展示你对职业生涯的规划，并且展现出你的主动性和上进心。<br>
:::info{title=&quot;示例&quot;}<br>
“在过去的工作中，我积累了很多行业知识，但我希望能拓宽自己的视野，挑战更高的工作目标。我对贵公司在行业中的影响力和前景感到非常兴奋，认为这是一个非常适合我进一步发展的平台。”<br>
:::</p>
<h3>4. 避免过度解释或情绪化</h3>
<p><strong>离职原因的解释应该简洁明了，避免过度解释</strong>。面试官通常只关心你离开前工作的原因，以及你是否适合当前职位。因此，不需要过多地去详细描述离职的每个细节或情感上的原因。简洁的回答可以显得更为成熟和专业。<br>
:::info{title=&quot;示例&quot;}<br>
“我离开上一家公司是因为我发现自己希望在一个更有挑战性的环境中发展，贵公司的职位与我的职业规划更为契合。”<br>
:::</p>
<h3>5. 展现职业成熟度和责任感</h3>
<p>如果你的离职是因为公司裁员、项目调整等不可控因素，可以强调你在面对这些变化时展现出的责任感和职业素养。这样可以<strong>让面试官看到你即使面对挑战，也能保持积极的态度，并且能够快速适应变化</strong>。<br>
:::info{title=&quot;示例&quot;}<br>
“在上一家公司，我参与了多个重要项目，但由于公司整体战略的调整，职位和岗位发生了变化。虽然这是一个遗憾，但我也看到了自我提升的机会，并决定寻找一个与我职业目标更加一致的岗位。”<br>
:::</p>
<h3>6. 避免谈及敏感或负面话题</h3>
<p>即使你的离职原因涉及到公司内的困难或问题（如管理混乱、同事关系紧张等），也应避免过多探讨这些话题。过度讨论这些内容不仅可能让面试官对你的职业态度产生疑问，还可能让你显得过于情绪化或不成熟。<strong>始终保持对前公司或前同事的尊重，避免无谓的负面情绪外露</strong>。<br>
:::info{title=&quot;示例&quot;}<br>
“虽然在之前的工作中遇到了一些挑战，但我始终专注于提升自己的能力和专业素养。现在，我希望加入一个更能发挥我的优势，并为我提供更大成长空间的团队。”<br>
:::</p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/职场进阶">职场进阶</category>
        </item>
        <item>
            <title><![CDATA[从经验中成长，迈向更具挑战的新阶段]]></title>
            <link>http://blog.wilsonzy.cn/post/140</link>
            <guid>http://blog.wilsonzy.cn/post/140</guid>
            <pubDate>Fri, 25 Apr 2025 06:58:23 GMT</pubDate>
            <description><![CDATA[<p>职场如同一条漫长的路，我们在其中不断积累经验、提升技能，逐步突破自我，迈向更高的目标。<br>
每个人的职场旅程都有不同的起点和终点，但在这条路上，经验始终是我们最宝贵的财富。而当我们从过往的经验中汲取养分时，我们也需要在合适的时机，勇敢地迈向更具挑战的新阶段。</p>
]]></description>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <p>职场如同一条漫长的路，我们在其中不断积累经验、提升技能，逐步突破自我，迈向更高的目标。<br>
每个人的职场旅程都有不同的起点和终点，但在这条路上，经验始终是我们最宝贵的财富。而当我们从过往的经验中汲取养分时，我们也需要在合适的时机，勇敢地迈向更具挑战的新阶段。</p>
<!-- more -->
<h3>1. 学会从经验中提炼教训</h3>
<p>无论是成功的案例，还是曾经的失误，都值得我们深思和总结。<br>
在职场中，每一次的经验积累，都是一次自我成长的机会。成功的经验让我们看到了自己的优点和长处，而失败的经历则教会我们如何应对挑战，避免重复相同的错误。</p>
<p>如何做到：</p>
<ul>
<li><strong>自我反思</strong>：定期回顾自己的工作表现，分析每个项目中自己做得好的地方，以及可以改进的地方。</li>
<li><strong>总结经验</strong>：通过撰写工作日志或总结报告，将自己所学到的教训和经验记录下来，避免将其遗忘。</li>
<li><strong>请教他人</strong>：向经验丰富的同事或领导请教，借鉴他们的成功经验与应对困难的策略。</li>
</ul>
<h3>2. 扩展视野，寻找新的挑战</h3>
<p>随着经验的积累，我们会发现自己逐渐适应了当前的工作内容和环境。<br>
此时，如果我们仅仅停留在舒适区，就很容易陷入职业发展的瓶颈期。面对更高的职位、更复杂的项目，或是完全不同的行业挑战，都是提升自我、拓展视野的好机会。</p>
<p>如何做到：</p>
<ul>
<li><strong>主动寻求挑战</strong>：在工作中主动争取更多的责任或更复杂的任务，走出舒适区，不断提升自己的能力。</li>
<li><strong>跨部门合作</strong>：参与不同部门的项目，增加与其他团队的合作机会，拓宽自己在组织中的视野。</li>
<li><strong>学习新技能</strong>：参加培训课程，提升自己的专业能力，学习一些新的技术或管理方法，为迎接新的挑战做好准备。</li>
</ul>
<p><img src="/static/img/7507e45345c727395d926ff045a4a325.image.png" alt="image.png"></p>
<h3>3. 提升领导力和团队协作能力</h3>
<p>随着职场经验的增长，我们不仅仅要关注自己的个人发展，还要学会如何更好地与他人合作，如何在团队中发挥更大的作用。<br>
领导力并不局限于管理职位，每个人在团队中都可以通过影响他人、引领团队来发挥领导作用。提升自己的领导力和团队协作能力，将帮助我们在职场中更好地应对新挑战。</p>
<p>如何做到：</p>
<ul>
<li><strong>培养沟通技巧</strong>：良好的沟通能力是提升领导力的基础。通过清晰地表达自己的想法、理解他人的需求，推动团队共同目标的实现。</li>
<li><strong>学会倾听</strong>：倾听团队成员的意见和反馈，关注他们的需求和困惑，帮助他们克服困难，激发他们的潜力。</li>
<li><strong>以身作则</strong>：在工作中以身作则，树立榜样，激励团队成员共同奋斗，达成目标。</li>
</ul>
<h3>4. 保持开放心态，适应变化</h3>
<p>职场是一个充满变化的环境，无论是技术的更新换代，还是市场的风云变幻，变化无时无刻不在发生。在这样的环境中，我们需要保持开放的心态，学会适应变化。只有不断调整自己的心态，才能在变化中找到新的机会，迎接更具挑战的新阶段。</p>
<p>如何做到：</p>
<ul>
<li><strong>保持学习热情</strong>：无论职场发展到哪个阶段，都要保持对新知识、新技能的好奇心和学习的热情。</li>
<li><strong>接受反馈与批评</strong>：从他人那里接受反馈，虚心听取不同的意见，并根据反馈不断调整自己的工作方式。</li>
<li><strong>勇于尝试</strong>：面对未知的挑战时，要有勇气去尝试新事物，哪怕一开始并不顺利。通过实践，不断积累经验，找到适合自己的发展路径。</li>
</ul>
<p><img src="/static/img/f5cebc86e71d115106b5650af243d0cb.image.png" alt="image.png"></p>
<h3>5. 设定明确的职业目标</h3>
<p>随着职场经验的增长，我们对自己的职业发展有了更清晰的认识。这时，设定明确的职业目标显得尤为重要。<br>
职业目标不仅能帮助我们在职场中保持前进的动力，也能为我们指引方向，避免迷失在纷繁复杂的工作中。</p>
<p>如何做到：</p>
<ul>
<li><strong>制定短期与长期目标</strong>：根据自己的职业发展阶段，设定具体、可实现的短期和长期目标。短期目标可以帮助我们快速取得进展，长期目标则为我们提供远大的方向。</li>
<li><strong>定期评估进展</strong>：定期回顾自己在目标实现过程中的进展，调整策略，确保自己始终朝着既定的方向努力。</li>
<li><strong>做好职业规划</strong>：根据自己的兴趣、能力以及市场需求，规划自己的职业路径。为每一个阶段制定清晰的发展蓝图。</li>
</ul>
<p>从经验中成长，不仅仅是积累过去的成功与失败，更重要的是通过这些经验不断调整自己，突破自我，迎接新的挑战。<strong>职场的道路上，没有一条通向成功的捷径，唯有通过不断的学习、反思和适应，我们才能迈向更具挑战的全新阶段</strong>。在这个过程中，保持积极的心态、不断充实自我，将为我们的职业生涯带来无限的可能性与精彩。</p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/职场进阶">职场进阶</category>
        </item>
        <item>
            <title><![CDATA[如何巧妙应对职场中的无理要求和背锅]]></title>
            <link>http://blog.wilsonzy.cn/post/139</link>
            <guid>http://blog.wilsonzy.cn/post/139</guid>
            <pubDate>Sat, 19 Apr 2025 06:07:23 GMT</pubDate>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <!-- more -->
<p>一、劝人少管闲事篇</p>
<ol>
<li>谢谢，我会自己决定的。</li>
<li>感谢关心，但这是我的事。</li>
<li>你看问题的角度挺有意思。</li>
<li>哦，我明白了，还有其他事吗？</li>
<li>你想听“好的”吗？那我说“好的”。</li>
<li>如果你一定这么想，那也没办法。</li>
<li>我又不是神，无法预知未来。</li>
<li>不了解情况的人总爱胡思乱想。</li>
<li>这事你不需要插手。</li>
<li>这是我的选择，我乐意，不用担心。</li>
<li>我很清楚自己在做什么。</li>
<li>这不关你的事，没必要操心。</li>
<li>我的事不用你管。</li>
<li>你口中的“大家”，是指你自己吗？</li>
<li>我不认识你说的“人们”。</li>
<li>我有自己的原则，没问题吧？</li>
<li>你想听的是什么？我说给你听。</li>
</ol>
<p>二、拒绝背锅篇</p>
<ol>
<li>你不能把责任推给我。</li>
<li>你的不安我理解，但这不是我的错。</li>
<li>抱歉让你不安，但你提问的方式让我不舒服。</li>
<li>我不在乎你这么说。</li>
<li>不能因为你不记得，就意味着没发生过。</li>
<li>不能因为这事发生在你身上，就代表一切。</li>
<li>我不会，我也不懂，要不你找专业的人吧？</li>
<li>你是领导，不知道怎么做我们能知道吗？</li>
<li>如果你这么强，为什么不自己做？</li>
<li>加班偶尔可以，但天天加班不符合你当初的承诺吧？</li>
<li>你是领导，应该知道怎么做啊。</li>
<li>你说公司会大发展，我一直相信。</li>
<li>业绩不好，我承认要负责，但领导也有责任。</li>
<li>优秀的员工一大堆，但能否招到合适的才是关键。</li>
<li>每年都有公司倒闭，铁打的公司流水的员工。</li>
<li>如果你那么聪明，为什么不做？</li>
<li>我尽力了，问心无愧。</li>
<li>你行你上啊。</li>
<li>你这么厉害，咋不上天呢？</li>
</ol>
<p>三、自嘲摆烂篇</p>
<ol>
<li>有时候我确实会这样。</li>
<li>每个人都有不擅长的地方。</li>
<li>不试怎么知道行不行？</li>
<li>我确实不太聪明，幸好有你在。</li>
<li>别以貌取人。</li>
<li>我就是这样，没什么问题。</li>
<li>我已经尽力了，做到这就好了。</li>
<li>我不是很聪明，你能教我吗？</li>
<li>我就是个内向的人，我觉得挺好。</li>
</ol>
<p>四、保持清醒篇</p>
<ol>
<li>哦，你确实很厉害。</li>
<li>你的话似乎没有什么说服力。</li>
<li>如果你非要这么想，我也没办法。</li>
<li>噢，对不起，你在跟我说话吗？</li>
<li>“大家”指的除了你还有谁？</li>
<li>这是你的理解，但我没有那个意思。</li>
<li>如果你非要这么说，那你开心就好。</li>
<li>没人攻击你，我只是表达我的想法。</li>
<li>先停下吧，我不想和一个不清楚情况的人争论。</li>
<li>你有权坚持自己的看法，我也有权坚持我的。</li>
</ol>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/职场进阶">职场进阶</category>
        </item>
        <item>
            <title><![CDATA[无尽循环：在工厂的打工人生]]></title>
            <link>http://blog.wilsonzy.cn/post/138</link>
            <guid>http://blog.wilsonzy.cn/post/138</guid>
            <pubDate>Fri, 25 Apr 2025 06:58:38 GMT</pubDate>
            <description><![CDATA[<p>在许多工厂里，工作似乎永无止境。刚进厂时，大家都抱有一份期待，希望通过努力工作换来更高的工资和更好的生活。然而，现实常常与我们的期望相去甚远。</p>
]]></description>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <p>在许多工厂里，工作似乎永无止境。刚进厂时，大家都抱有一份期待，希望通过努力工作换来更高的工资和更好的生活。然而，现实常常与我们的期望相去甚远。</p>
<!-- more -->
<p><img src="/static/img/aa91a7167f49e6ef4be03eb66b9ef03b.image.png" alt="image.png"></p>
<p>厂里有一个不成文的规则：你<strong>学得越多，工作就会越多，产量也会随之增加。如果你做得更快，任务量便会加倍；而如果做得慢，你可能会被安排休假，甚至面临低评</strong>。</p>
<p>渐渐地，<strong>工作成了一个无休止的循环</strong>。你原以为通过提升自己的技能，能得到更多回报，却发现厂方并不会因此给你额外奖励，反而会把更多任务压在你肩上。</p>
<p>为了提高效率，你拼尽全力，牺牲了宝贵的休息时间，甚至忽视了身体的疲劳。<br>
起初，你能勉强坚持，但随着时间的推移，身体的透支感越来越强。<br>
你会发现，<strong>尽管你不断努力，工资却始终没有明显提升，反而感觉身体越来越疲惫</strong>。<br>
<img src="/static/img/4eea7be107d7f829a0f9731ce7a34095.image.png" alt="image.png"></p>
<p>这就是许多“打工人”面对的辛酸现实。<br>
<strong>你希望改变自己的命运，却发现自己陷入了一个无解的困境</strong>。<br>
你为工厂贡献了所有，却得不到相应的回报。<br>
工厂里的“加班文化”和“高产文化”让你逐渐失去了对工作的热情，也开始怀疑自己的付出是否有意义。  最终，工资没有显著变化，身体也逐渐崩溃，似乎一切努力都未能改变现状。</p>
<p><img src="/static/img/9f8e4b9797810aa8efddcd42ffdc5bd5.image.png" alt="image.png"></p>
<p>尽管如此，许多人依然在这样的环境中坚持。<br>
<strong>你无法轻易放弃，因为放弃意味着更糟糕的生活。</strong><br>
<strong>你只能在压力与疲劳中艰难前行，努力保持那份对未来的希望，尽管希望已变得越来越渺茫。</strong> 这个过程充满痛苦与辛酸，甚至让你感到自己像是一台被消耗的机器，最终只剩下空空的回忆。</p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/生活琐记">生活琐记</category>
        </item>
        <item>
            <title><![CDATA[迈向理想生活的思维宝典]]></title>
            <link>http://blog.wilsonzy.cn/post/137</link>
            <guid>http://blog.wilsonzy.cn/post/137</guid>
            <pubDate>Sat, 19 Apr 2025 05:30:06 GMT</pubDate>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <!-- more -->
<p>1.【72小时规定】：很简单，当你决定要做一件事的时候，必须在72小时之内完成，否则你可能永远不会再做了。</p>
<p>2.我生命中出现了最美好的东西，是因为我做了原本不敢做的事。</p>
<p>3.写下10个理由，说说你为什么想要变得富有。</p>
<p>4.工作本身最多值报酬的一半，另一半的价值来源于你的想法和实施这个想法的勇气。</p>
<p>5.遇到困难和恐惧时，翻看一下成功日记，从过去的事情中找找将来一定能达到目标的依据。</p>
<p>6.50%的钱，储蓄起来养鹅，为自己创造非工资收入；40%的钱放在梦想储蓄罐（购买自己想买的东西）；10%的钱生活零用（用于日常生活支出）。</p>
<p>7.无论什么时候，不能把希望只寄托在一份工作上，它的持续性没你想的那么长。</p>
<p>8.幸运其实只是充分准备加上努力工作的结果。笨人只有一次好运，聪明人永远都有好运。</p>
<p>9.要始终去帮人解决问题，才能挣到钱；要把精力始终集中在你知道的，能做到的和拥有的东西上。（因为成人经常把一生的时间用来考虑他们不知道、不能做或没有的东西上）</p>
<p>10.勇敢的人也会害怕，一个人虽然害怕却敢于前进，这才叫勇敢。</p>
<p>11.大部分人其实根本不清楚自己想要什么，他们只知道自己想要得到更多的东西。我们必须明确自己内心的愿望，知道它是什么，才有可能得到它。</p>
<p>12.你能否挣到钱，最关键的因素并不在于你是不是有个好点子。你有多聪明也不是主要原因，决定因素是你的自信程度。</p>
<p>13.如果陷入债务，四个忠告：</p>
<ul>
<li>
<p>①应当毁掉所有的信用卡，因为它比花现金要多的多。</p>
</li>
<li>
<p>②尽可能少的还贷款，不能用新的贷款偿还旧贷款。</p>
</li>
<li>
<p>③把不用于生活的钱，一半存起来，一半用于还贷，最好不申请消费贷款。</p>
</li>
<li>
<p>④钱包贴一个纸条，上面写着“这真的有必要吗?”，提醒自己应该不要花太多的钱。</p>
</li>
</ul>
<p>14.只要学会了我们的咒语，就可以从无到有地变出钱来。我们的咒语是：</p>
<ul>
<li>
<p>①确定自己希望获得财务上的成功。</p>
</li>
<li>
<p>②自信，有想法、做自己喜欢做的事。</p>
</li>
<li>
<p>③把钱分成日常开销、梦想目标和金鹅账户三部分。</p>
</li>
<li>
<p>④进行明智的投资。</p>
</li>
<li>
<p>⑤享受生活。</p>
</li>
</ul>
<p>15.成功会使人骄傲，如果你骄傲自大，你就会停止学习，不学习，人就不会进步。</p>
<p>16.在困难面前你不能逃跑。困难、犯错误、丢面子引起的恐惧，已经破坏了无数人的生活。</p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/生活哲学">生活哲学</category>
        </item>
        <item>
            <title><![CDATA[重拾内心的宁静与力量]]></title>
            <link>http://blog.wilsonzy.cn/post/136</link>
            <guid>http://blog.wilsonzy.cn/post/136</guid>
            <pubDate>Fri, 25 Apr 2025 06:59:03 GMT</pubDate>
            <description><![CDATA[<p>在这个快速变化、充满挑战的世界里，我们每天都被各种事务和压力所包围。<br>
工作、家庭、社交、生活的种种责任，甚至对未来的焦虑，都让我们常常感到内心的浮躁与不安。</p>
]]></description>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <p>在这个快速变化、充满挑战的世界里，我们每天都被各种事务和压力所包围。<br>
工作、家庭、社交、生活的种种责任，甚至对未来的焦虑，都让我们常常感到内心的浮躁与不安。</p>
<!-- more -->
<p><img src="/static/img/728a033a775ed1c819d9e321b19e9196.image.png" alt="image.png"></p>
<p>我们似乎总是在追逐着什么，却从未真正停下来去聆听自己的内心。<br>
我们在追求外在的成功时，常常忽视了最重要的——内心的宁静与力量。<br>
殊不知，<strong>内心的平静才是我们应对复杂生活的最强力量源泉</strong>。</p>
<p>然而，内心的宁静并非遥不可及，它并不需要依赖外界的条件或物质的富足。<br>
它源于我们对自我的深刻了解，情绪的有效掌控和内心世界的平衡。</p>
<p><img src="/static/img/e55ccf12ebe83a071cce2a1c34a2d942.image.png" alt="image.png"></p>
<p>很多时候，我们以为幸福与安宁是外部条件带来的结果；<br>
但实际上，内心的宁静来自我们对自己情感的接纳与理解，来自我们对外界事物的态度与回应。<br>
它不是消极的逃避，而是主动选择的一种平和心态。</p>
<p><strong>真正的力量也源自于内心的稳定与坚韧</strong>。<br>
只有在内心平静时，我们才能清楚地看到自己真正需要的是什么，才能在面对生活中的任何困境时，不被外界的风雨所击倒。</p>
<p><img src="/static/img/77c00669d182ce6abaf29ca7f8b600f9.image.png" alt="image.png"></p>
<p>无论是职场的压力，还是个人生活中的困扰，只有内心保持<strong>平稳</strong>，我们才能做出更明智的<strong>决策</strong>，才能在纷繁复杂的环境中找到清晰的方向。<br>
内心的平静不代表没有挑战，而是在挑战中保持冷静，找到应对之策。</p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/心灵探索">心灵探索</category>
        </item>
        <item>
            <title><![CDATA[入职前9个必问]]></title>
            <link>http://blog.wilsonzy.cn/post/135</link>
            <guid>http://blog.wilsonzy.cn/post/135</guid>
            <pubDate>Thu, 13 Feb 2025 08:56:54 GMT</pubDate>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <!-- more -->
<p><img src="/static/img/47e492c1669c63048577c637f82efef3.image.png" alt="image.png"></p>
<p>1、<strong>薪资结构</strong>：是固定工资还是固定+绩效+奖金+补贴+其他福利的总和?<br>
2、<strong>绩效考核</strong>：是否有绩效考核?考核标准是什么?占比是多少?达标和不达标绩效如何计算?<br>
3、<strong>一年几薪</strong>：12薪+_薪，一般公司都有13薪或者14薪<br>
4、<strong>试用期时间&amp;待遇</strong>：试用期一般是3-6个月，试用期的工资一般是转正后的80-90%<br>
5、各项<strong>补贴</strong>：加班费、出差费、餐补、交通补贴、通讯补贴、其他补贴<br>
6、<strong>晋升和涨薪机制</strong>：晋升机制、涨薪次数、涨薪比例、考核方法<br>
7、<strong>上班时间</strong>：双休还是单休?加班是算调休还是有补贴?<br>
8、<strong>薪资发放时间</strong>：几号发工资?<br>
9、<strong>薪资</strong>是<strong>税前</strong>还是<strong>税后</strong>?</p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/职场进阶">职场进阶</category>
        </item>
        <item>
            <title><![CDATA[别让冲动辞职，毁掉你的“窝囊费”]]></title>
            <link>http://blog.wilsonzy.cn/post/134</link>
            <guid>http://blog.wilsonzy.cn/post/134</guid>
            <pubDate>Fri, 25 Apr 2025 06:59:21 GMT</pubDate>
            <description><![CDATA[<p>你以为辞职就是一种<strong>解脱</strong>吗？<br>
其实你并不知道，找工作可比上班累多啦。<br>
投简历、苦苦等待消息，还有面试被拒……<br>
这每一步，都在无情地<strong>消耗</strong>着你的信心和耐心呢。</p>
]]></description>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <p>你以为辞职就是一种<strong>解脱</strong>吗？<br>
其实你并不知道，找工作可比上班累多啦。<br>
投简历、苦苦等待消息，还有面试被拒……<br>
这每一步，都在无情地<strong>消耗</strong>着你的信心和耐心呢。</p>
<!-- more -->
<p>如今的职场现状是，大公司在<strong>裁员</strong>，小公司面临<strong>倒闭</strong>，<strong>降薪</strong>更是成了家常便饭。<br>
你总以为换个工作就能逃离眼前这些烦恼，但真实的情况是，不管在哪里，职场就像江湖一样，麻烦事儿无处不在。<br>
工资能够<strong>准时</strong>发放，这已经算是最大的福分了。</p>
<p><img src="/static/img/2a96574b8557819a70ded8b9f4d3c09a.image.png" alt="image.png"></p>
<p>所以啊，在辞职之前，得好好问问自己：<strong>下家已经找好了吗？副业有没有一点起色呢</strong>?<br>
要是都没有的话，可千万不要<strong>冲动</strong>行事。<br>
要知道，找工作就像是一场漫长的内耗大战，投出去的简历很可能就像石沉大海，等来了面试也可能是竹篮打水一场空。</p>
<p>与其在<strong>失业</strong>带来的<strong>焦虑</strong>之中苦苦挣扎，还不如先把当下的工作稳住，<strong>不断提升自己，耐心等待更好的机会来临。</strong><br>
有句话说得好：“<strong>上班还有‘窝囊费’，不上班你就是窝囊废。</strong>”所以啊，一定要稳住，千万别让冲动把自己的退路给毁了。</p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/职场进阶">职场进阶</category>
        </item>
        <item>
            <title><![CDATA[理财与灵性：财富的真正法则]]></title>
            <link>http://blog.wilsonzy.cn/post/133</link>
            <guid>http://blog.wilsonzy.cn/post/133</guid>
            <pubDate>Fri, 25 Apr 2025 06:59:39 GMT</pubDate>
            <description><![CDATA[<p>在现代社会，理财常常被视为一项理性的任务，但真正的财富管理，往往与我们的内心状态密切相关。《财富的灵性法则》不仅教导我们如何管理金钱，更引导我们从灵性的角度去理解财富。财富的流动不仅依赖于外部的经济环境，更深刻地受制于我们内心的信念与情感。理财，远不止是积累数字的游戏，它是个人灵性与物质世界互动的一部分。</p>
]]></description>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <p>在现代社会，理财常常被视为一项理性的任务，但真正的财富管理，往往与我们的内心状态密切相关。《财富的灵性法则》不仅教导我们如何管理金钱，更引导我们从灵性的角度去理解财富。财富的流动不仅依赖于外部的经济环境，更深刻地受制于我们内心的信念与情感。理财，远不止是积累数字的游戏，它是个人灵性与物质世界互动的一部分。</p>
<!-- more -->
<p><img src="/static/img/1307bb039a0305edefeb359fb74af882.image.png" alt="image.png"></p>
<p><strong>1. 内心平静是理财的基础</strong></p>
<p>理财的第一步，是在<strong>内心中找到平静与和谐</strong>。我们往往将财富的积累和成功与外部因素绑定，但真正的财富来自内心。当我们内心充满焦虑、贪婪或恐惧时，财富很难自然地流入我们的生活。相反，当我们以平和、开放的心态去迎接财富时，它才会如泉水般流淌。</p>
<p>通过冥想、正念练习等方式，我们可以培养内心的安宁，从而为理财决策提供清晰的视角。保持内心的平静让我们能做出明智的决定，而非由情绪驱动的冲动决策。</p>
<p><strong>2. 扭转对财富的负面信念</strong></p>
<p>书中提到，<strong>财富的流动受制于我们对金钱的认知与信念</strong>。许多人由于过去的经验或文化影响，形成了“钱是肮脏的”或“财富让人堕落”的负面信念。这些信念不仅限制了财富的流入，也阻碍了我们的灵性成长。</p>
<p>理财的关键在于打破这些消极的观念，拥抱财富作为一种能量的流动。财富本身没有对错，它只是能量的载体。通过改变对财富的态度，我们能打破阻碍金钱流入的障碍。可以通过肯定语句或自我反思来转变这些观念，从而迎接财富的自然到来。</p>
<p><strong>3. 财富的真正目的是创造价值</strong></p>
<p>书中强调，理财的真正目的是<strong>创造价值</strong>。财富不应仅仅是个人的积累，它应当成为我们服务他人、回馈社会的工具。金钱是能量，是我们与世界互动的媒介。当我们将财富用于创造社会价值、帮助他人时，财富会反过来滋养我们。</p>
<p><strong>4. 给予与接收的平衡</strong></p>
<p>财务自由是很多人追求的目标，但实现这一目标需要通过给予与接收的平衡。在财富的流动中，给予是一种更高的灵性法则。当我们无私地给予时，实际上是在释放一种能量，这种能量会引导财富回流到我们身边。</p>
<p>无论是通过捐款、时间奉献，还是为他人提供支持，给予让我们感受到内心的富足与满足。而这种满足感将反过来吸引更多的财富和机会。理财的真正精髓，不仅仅是<strong>收获</strong>，而是<strong>给予</strong>的力量。</p>
<p><strong>5. 灵性成长与财务自由并行</strong></p>
<p>理财不仅是为了积累财富，它也可以成为我们灵性成长的途径。每一次财务决策，都是对我们信念与智慧的考验。通过理财，我们能够深刻地认识到自己对金钱的态度、欲望和恐惧，并逐步超越这些局限。</p>
<p>理财让我们学会在物质世界中找到平衡，懂得如何正确地管理自己的资源和财富。它帮助我们建立更清晰的目标感，同时也提升了我们的觉察力和智慧。在这条财务自由的道路上，理财与灵性成长是并行不悖的。</p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/书籍阅读">书籍阅读</category>
        </item>
        <item>
            <title><![CDATA[在NAS 上部署宝塔面板]]></title>
            <link>http://blog.wilsonzy.cn/post/132</link>
            <guid>http://blog.wilsonzy.cn/post/132</guid>
            <pubDate>Wed, 25 Jun 2025 13:15:54 GMT</pubDate>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <!-- more -->
<p>通过<strong>File Station</strong>，在docker目录下新建<strong>www</strong>目录<br>
<img src="/static/img/d667339db82a6699568554f537ca4a5b.image.png" alt="image.png"></p>
<p>回到<strong>项目</strong>页面，选择创建<strong>docker-compose.yml</strong>文件</p>
<p><img src="/static/img/ef57c9893a2131f629cda2d140c7dfce.image.png" alt="image.png"></p>
<p>内容如下</p>
<pre><code>services:
  btpanel:
    image: docker.cnb.cool/btpanel/btpanel:nas # 宝塔面板官方镜像（国内源），也可直接使用dockerhub镜像 btpanel/baota:nas
    ports: #全加10000
      - &quot;18888:8888&quot; # 宝塔面板对外访问端口，默认18888
      - &quot;10080:80&quot; # Web服务端口，默认10080
      - &quot;10443:443&quot; # HTTPS服务端口，默认10443
      - &quot;13306:3306&quot; # MySQL服务端口，默认13306，不需要暴露到容器外可删除
      - &quot;10022:22&quot; # SSH服务端口，默认10022，不需要暴露到容器外可删除
      - &quot;10888:888&quot; # PHPMyAdmin服务端口，默认10888，不需要暴露到容器外可删除
    volumes:
      - &quot;./www:/www&quot; # 持久化存储容器数据，默认/www，可根据实际情况调整目录
    labels:
      createdBy: &quot;bt_apps&quot;

</code></pre>
<p>点击<strong>下一步</strong>，Web Station设置，选择<strong>不使用Web Station</strong>，点击<strong>下一步</strong></p>
<p><img src="/static/img/b742266ecdd9ea8208fc58013b8a4ba6.image.png" alt="image.png"></p>
<p>完成项目创建，确认信息无误后，点击完成<br>
<img src="/static/img/e85cee3606f561b9fbc3b2936c4069cf.image.png" alt="image.png"></p>
<p>等待镜像下载并启动构建项目</p>
<p><img src="/static/img/cd71cb3c1fb6446085f83bd012e88c2a.image.png" alt="image.png"></p>
<p>构建成功</p>
<p><img src="/static/img/315663a2188d5611cf456ee05f9513ae.image.png" alt="image.png"></p>
<p>打开浏览器，输入http://IP:18888/btpanel<br>
输入用户名<strong>btpanel</strong>，密码<strong>btpaneldocker</strong>登录宝塔面板</p>
<p><img src="/static/img/0f0dede743df487e030cba6e7c00fc7e.image.png" alt="image.png"></p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/创意灵感">创意灵感</category>
        </item>
        <item>
            <title><![CDATA[自我认知：了解自己，走向成长]]></title>
            <link>http://blog.wilsonzy.cn/post/131</link>
            <guid>http://blog.wilsonzy.cn/post/131</guid>
            <pubDate>Fri, 25 Apr 2025 07:01:39 GMT</pubDate>
            <description><![CDATA[<p>自我认知是心理成长的基础，它是一个人<strong>认识</strong>、<strong>理解</strong>并<strong>接纳自己</strong>内心深处的过程。它不仅仅是对自己性格、情感、价值观的简单了解，更是对自己行为动机、情绪反应、人生目标等方面的深刻洞察。自我认知的过程是不断探索与发现的旅程，它帮助我们理解自己在世界中的位置，明确人生方向，并在人生的各个阶段做出更加理性与符合内心的选择。</p>
]]></description>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <p>自我认知是心理成长的基础，它是一个人<strong>认识</strong>、<strong>理解</strong>并<strong>接纳自己</strong>内心深处的过程。它不仅仅是对自己性格、情感、价值观的简单了解，更是对自己行为动机、情绪反应、人生目标等方面的深刻洞察。自我认知的过程是不断探索与发现的旅程，它帮助我们理解自己在世界中的位置，明确人生方向，并在人生的各个阶段做出更加理性与符合内心的选择。</p>
<!-- more -->
<p><strong>1. 自我认知的定义与重要性</strong></p>
<p>自我认知是指个体对自己身份、特征、情感、动机以及行为的意识与理解。它帮助我们认识到自己是谁、为什么这样做、什么对我们来说是重要的、我们如何与他人互动，以及我们的长远目标是什么。自我认知不仅仅是对外在行为的了解，更是一种对内心深层动机与情感的洞察。</p>
<p>它的重要性在于，只有通过清晰的自我认知，我们才能做出<strong>符合内心的决定</strong>、<strong>管理好自己的情绪、与他人建立健康的关系、并在困境中保持自我</strong>。自我认知不只让我们了解自己的优点，也能帮助我们正视自己的缺点，从而实现更全面的成长。</p>
<p><img src="/static/img/d320df404b0e5dea43a9bd7266137895.image.png" alt="image.png"></p>
<p><strong>2. 自我认知的过程：从观察到觉察</strong></p>
<p>自我认知并非一蹴而就，它是一个长期的过程，通常可以分为几个阶段：</p>
<p><strong>观察阶段</strong>：这是自我认知的第一步。在这个阶段，我们开始有意识地观察自己的行为和情感反应。例如，意识到自己在压力面前容易焦虑，或者在社交场合中缺乏自信。这个阶段是对自己的一种外在观察，通过回顾日常生活中的种种情境，我们能够初步了解自己的行为模式。</p>
<p><strong>反思阶段</strong>：仅仅观察是不够的，我们还需要通过反思来深入理解自己。反思是通过对行为和情感的回顾与分析，试图找出其中的原因和动机。例如，反思为什么在某个特定的情境下我们会产生强烈的愤怒情绪，或是为什么会在一些决定中感到犹豫不决。反思有助于我们发现自己的深层需求和内心的矛盾冲突。</p>
<p><strong>觉察阶段</strong>：当我们通过观察和反思逐渐认识自己时，真正的自我认知就会到来。觉察意味着我们不仅理解自己的行为和情感，更能够察觉到它们背后的潜在动机和需求。这个阶段是自我成长的重要标志，它帮助我们更加客观地审视自己，并通过这种觉察做出更理性和成熟的选择。</p>
<p><img src="/static/img/aa66677636411d53cda9bab6cb1aaa8e.image.png" alt="image.png"></p>
<p><strong>3. 自我认知的核心内容</strong></p>
<p>自我认知包括多个方面，它不仅涉及到我们对自己的外在了解，还与内心世界的深层联系密切相关。以下是自我认知的几个核心内容：</p>
<p><strong>性格特点</strong>：了解自己的性格特征，如外向或内向、乐观或悲观、果断或犹豫等，有助于我们在生活中做出更合适的选择。例如，外向的人可能更适合从事需要频繁与他人交流的职业，而内向的人则可能在需要深度思考和独立工作中表现更好。</p>
<p><strong>情感管理</strong>：认识到自己的情感反应模式对于自我认知非常重要。有些人可能容易感到焦虑或愤怒，有些人则可能表现得较为冷静。通过了解这些情感模式，我们可以学会更好地管理情绪，避免过度反应。</p>
<p><strong>动机与需求</strong>：每个人的行为背后都有深层次的动机，了解自己真正的需求是自我认知的重要组成部分。我们有时会因为追求外部认可而做出某些选择，或者因为逃避某些内心的恐惧而回避挑战。通过自我认知，我们可以更加清晰地看到自己的真实需求，进而做出更符合内心的决定。</p>
<p><strong>价值观与信念</strong>：自我认知还涉及到我们的价值观与信念。每个人都拥有自己独特的世界观和人生观，这些价值观和信念决定了我们如何看待自己、他人以及世界。当我们清楚地了解自己的核心价值时，我们便能在生活中坚持自己的信念，不轻易被外界的声音所动摇。</p>
<p><img src="/static/img/3ac08c190b790aae18f5e339806ca7aa.image.png" alt="image.png"><br>
<strong>4. 自我认知的挑战</strong></p>
<p>尽管自我认知对于个人成长至关重要，但在<strong>实践过程中往往充满挑战</strong>。一方面，我们可能由于习惯性思维而难以清晰地认识自己；另一方面，内心的自我防御机制也可能让我们避免面对一些不愿直视的真相。很多时候，我们会习惯性地掩盖自己的缺点，甚至对自己进行过度美化。</p>
<p>因此，<strong>提升自我认知需要勇气与耐心</strong>。我们需要敢于面对自己的不完美，正视自己的缺陷与弱点。同时，也需要保持开放的心态，接受他人的反馈和建议，因为他人往往能看到我们自己未曾察觉的一面。</p>
<p><strong>5. 提升自我认知的方法</strong></p>
<p>提升自我认知是一个持续的过程，以下几种方法可以帮助我们更好地了解自己：</p>
<p><strong>冥想与自我反思</strong>：通过冥想或写日记，我们可以暂停喧嚣的外界，专注于内心的感受。每天花几分钟时间反思自己的情感和行为，有助于增强对自我的觉察。</p>
<p><strong>寻求他人反馈</strong>：我们往往难以看到自己的盲点，因此向他人请教并听取他们的反馈是一个很好的方式。特别是那些我们信任的人，他们能够提供真实的看法，帮助我们更全面地认识自己。</p>
<p><strong>心理咨询与治疗</strong>：如果我们在自我认知上遇到困难，心理咨询和治疗是一个非常有效的途径。专业的心理学家可以帮助我们理清内心的困惑，并提供科学的指导和方法。</p>
<p><img src="/static/img/a6313ad4959d270d6f21747d822c3f53.image.png" alt="image.png"></p>
<p>自我认知是每个人走向成熟与成功的必经之路。通过不断地观察、反思与觉察，我们能够更深入地理解自己，发现潜力与限制，从而做出更加理性与自信的选择。自我认知不仅有助于我们实现个人成长，还能让我们在<strong>复杂的世界中保持清晰的方向</strong>与内心的平静。在追求自我认知的过程中，我们将走向更加真实、自由与充实的生活。</p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/个人成长">个人成长</category>
        </item>
        <item>
            <title><![CDATA[Eplan学习笔记-09部件清单导出]]></title>
            <link>http://blog.wilsonzy.cn/post/130</link>
            <guid>http://blog.wilsonzy.cn/post/130</guid>
            <pubDate>Sun, 01 Jun 2025 02:35:09 GMT</pubDate>
            <description><![CDATA[<h2>部件清单导出</h2>
]]></description>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <h2>部件清单导出</h2>
<!-- more -->
<p>在桌面创建两个Excel表格</p>
<ul>
<li>一个命名为模拟文件.xlsx</li>
<li>一个命名为目标文件.xlsx</li>
</ul>
<p>首先打开<strong>模拟文件.xlsx</strong>，在模拟文件中把部件采购申请表输入参数</p>
<ol>
<li>表头输入 <strong>#H#</strong></li>
<li>下面标签输入 【###】</li>
</ol>
<p><img src="/static/img/c2ce9bf0c68e64726090f246e7fd62be.image.png" alt="image.png"></p>
<p>eplan软件中的部件汇总表<br>
<img src="/static/img/12e960b1065ff76cc7b957261cb9fc3a.image.png" alt="image.png"></p>
<p>选择工具 → 制造数据 → 导出/标签</p>
<p><img src="/static/img/df84a0c53147e3bd6cffd7ebe655ce14.image.png" alt="image.png"></p>
<p>目标文件选中刚刚桌面新建的 <strong>目标文件.xlsx</strong></p>
<p>点击设置 <strong>部件汇总表</strong>后面的 <strong>...</strong></p>
<p><img src="/static/img/974ad15de5aaf64c946cd42925f07900.image.png" alt="image.png"></p>
<p>点击<strong>文件</strong>，把<strong>目标文件</strong>和<strong>模板</strong>选择刚刚桌面创建的<strong>模拟文件.xlsx</strong> 和 <strong>目标文件.xlsx</strong></p>
<p><img src="/static/img/b43e92016a8dbbc94258151c05e4ba5d.image.png" alt="image.png"></p>
<p>修改<strong>表头</strong>格式元素，把<strong>模拟文件.xlsx</strong>里为 <strong>#H#</strong> 的格式元素都添加进去</p>
<p><img src="/static/img/4fa3fb2d6490051411517a21621cec46.image.png" alt="image.png"></p>
<p>修改<strong>标签</strong>格式元素，把<strong>目标文件.xlsx</strong>里为 【###】 的格式元素都添加进去，右下角每页输出的标签行数修改为 <strong>100</strong><br>
点击<strong>确定</strong></p>
<p><img src="/static/img/1b6216df5a8cfc12eca3f38f8198f5b3.image.png" alt="image.png"><br>
<img src="/static/img/3da5873c4e721f1716246d25feedb2a4.image.png" alt="image.png"></p>
<p>继续点击<strong>确定</strong></p>
<p><img src="/static/img/09ad1f780810114e1c6e1070501af505.image.png" alt="image.png"></p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/自我提升">自我提升</category>
        </item>
        <item>
            <title><![CDATA[Eplan学习笔记-08宏]]></title>
            <link>http://blog.wilsonzy.cn/post/129</link>
            <guid>http://blog.wilsonzy.cn/post/129</guid>
            <pubDate>Mon, 20 Jan 2025 13:53:38 GMT</pubDate>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <!-- more -->
<p><strong>创建页宏</strong></p>
<ul>
<li>就是将当前制作的保存为<strong>模板</strong>，方便下次调用</li>
</ul>
<p><img src="/static/img/b85df9dd56b741de6aa313b34292522d.image.png" alt="image.png"></p>
<p><strong>插入页宏</strong></p>
<p>新建项目<br>
项目属性里 项目类型为<strong>宏项目</strong></p>
<p><img src="/static/img/7ac10b4d3f563d9bc6eb9648a147c5c1.image.png" alt="image.png"></p>
<p><img src="/static/img/62eb2dbc7243db6e9b98c432e2cf489e.image.png" alt="image.png"></p>
<p>通过插入 符号 方式 将符号拖到绘图区域<br>
<img src="/static/img/a3b3af98a88545c75822e7758f34e1b1.image.png" alt="image.png"></p>
<p>插入 → <strong>占位符对象</strong>  框选图中的符号<br>
<img src="/static/img/af59574f515d70efabb251b44bb2e0b9.image.png" alt="image.png"><br>
会弹出 占位符对象 <strong>属性对话框</strong><br>
在 <strong>数值</strong> 选项 右键  <strong>新变量</strong></p>
<p><img src="/static/img/ccd3685b6f6bb1cd44894fb7232b53e5.image.png" alt="image.png"></p>
<p>建立3个变量</p>
<p><img src="/static/img/9c4b03c3956813c739807dca58de3f6f.image.png" alt="image.png"></p>
<p>右键 <strong>新值集</strong></p>
<p>建立功率为 1.5KW 和 5.5KW 2个电机值集<br>
<img src="/static/img/39298bb3c33c415d05230fadc7a5a002.image.png" alt="image.png"><br>
<img src="/static/img/c0d1a261ba1037d6fb69e615d2a0072f.image.png" alt="image.png"></p>
<p>点击<strong>应用</strong></p>
<p>做好后  选择  左侧的<strong>分配</strong></p>
<p><img src="/static/img/a4c42697cd075e5288559b5cefdaeb97.image.png" alt="image.png"></p>
<p>选中<strong>KM1</strong>  新建  将<strong>技术参数</strong>添加进来<br>
<img src="/static/img/eb9bd4042d99754defab318eb646cf6d.image.png" alt="image.png"></p>
<p>点击<strong>确定</strong></p>
<p><img src="/static/img/cfed422826cf5a785e2fefff91883ba7.image.png" alt="image.png"></p>
<p>依次添加其他<strong>技术参数</strong></p>
<p><img src="/static/img/4f3c38ded8d075d7e66187891b04d9c3.image.png" alt="image.png"></p>
<p>在每一个目录下 的<strong>技术参数</strong>  右边空白处 右击 <strong>选择变量</strong></p>
<p><img src="/static/img/7d23d2932636885e11d23af47bcaa0e2.image.png" alt="image.png"></p>
<p>改为刚刚<strong>新建的变量</strong></p>
<p><img src="/static/img/a9f902beb972ca5b417dcc0fed56d245.image.png" alt="image.png"></p>
<p>点击 <strong>应用</strong> 确定</p>
<p>右键 最外面边框标识</p>
<p><img src="/static/img/f771c7847a4a2d6841a010bc2d018729.image.png" alt="image.png"><br>
分配值集<br>
<img src="/static/img/bf975c4ead0056330974458cd384282c.image.png" alt="image.png"></p>
<p><img src="/static/img/66fe2f7cde4654dd28249ca412be2b72.image.png" alt="image.png"></p>
<p>值集分配到绘图区<br>
<img src="/static/img/bd93558029b0aefbc2252b0b74f1b77e.image.png" alt="image.png"></p>
<p>右键 最外面边框标识，在属性 → <strong>分配</strong>选项里 右键  <strong>传递变量</strong></p>
<p><img src="/static/img/0d1ce1f6669c4045df96a15708bda31b.image.png" alt="image.png"></p>
<p>插入 → 盒子/连接点/安装板 → 宏边框</p>
<p><img src="/static/img/7b97a1f4530c10fed3b8be3499308e06.image.png" alt="image.png"></p>
<p>框选整个标识区域<br>
右键红色边框 → <strong>属性</strong>  编辑</p>
<ul>
<li>名称：电机<br>
<img src="/static/img/e827664b8dac84ffe9f049eccd28a612.image.png" alt="image.png"></li>
</ul>
<p>项目数据 → 宏 → 自动生成</p>
<p>覆盖现有的宏</p>
<h4>调用宏</h4>
<p>插入 → 窗口宏 → 选择刚刚建立好的宏</p>
<p><img src="/static/img/35b97d7f3663a884f8294260c47ad98d.image.png" alt="image.png"></p>
<h4>窗口宏</h4>
<p>新建 页<br>
插入 → 盒子/连接点/安装板 → 黑盒</p>
<p><img src="/static/img/2f94c644a9b7e151ba91c44b69caed6d.image.png" alt="image.png"></p>
<p>右键  <strong>属性</strong></p>
<ul>
<li>修改设备标识符为U1<br>
<img src="/static/img/325cfdb06355c50ae28272de43859a45.image.png" alt="image.png"></li>
<li>功能数据  定义</li>
</ul>
<p><img src="/static/img/42fec97f6fb1c7991732994e7f2da5a2.image.png" alt="image.png"></p>
<p><strong>盒子里面连接的端子</strong></p>
<p>插入 → 盒子/连接点/安装板 → 设备连接点</p>
<p><img src="/static/img/59f334ec976e710741f4d5a81d5f04ae.image.png" alt="image.png"></p>
<p>所有连接点都编辑好后<br>
<img src="/static/img/035bd77909adbe1845e672a6bef2508a.image.png" alt="image.png"></p>
<p><strong>宏边框</strong></p>
<p>插入 → 盒子/连接点/安装板 → 宏边框</p>
<p><img src="/static/img/7b97a1f4530c10fed3b8be3499308e06.image.png" alt="image.png"></p>
<p>将黑盒框选中<br>
<img src="/static/img/32f39a37ceba0d3ff17378743509669e.image.png" alt="image.png"><br>
红色边框就是宏边框<br>
右键宏边框 → <strong>属性</strong>  编辑</p>
<ul>
<li>名称：接线盒</li>
</ul>
<p><img src="/static/img/6178f5fe8e84bcfbe72cdac945fdb0d2.image.png" alt="image.png"></p>
<p>右键宏边框 → 推移基准点<br>
<img src="/static/img/40d3a9f0e0785415dad7bc94e35bf945.image.png" alt="image.png"></p>
<p>左上角就为放置基准点<br>
<img src="/static/img/0a1ad3a713678935180fea82b4919b40.image.png" alt="image.png"><br>
项目数据 → 宏 → 自动生成</p>
<p><img src="/static/img/132f8f4cb93c44964dd8c3ccd8903ea7.image.png" alt="image.png"></p>
<h4>将宏与部件关联</h4>
<p>工具 → 部件 →管理<br>
<img src="/static/img/9f65f3cc3ee978754cb076197b2c5c39.image.png" alt="image.png"></p>
<p>在 <strong>连接</strong>  常规目录下 右键  新建 → <strong>零部件</strong></p>
<p><img src="/static/img/f0cb8a666fcf44b54f1d3bf60c855e3a.image.png" alt="image.png"></p>
<ul>
<li>常规里 修改 <strong>部件编号</strong>  <strong>类型编号</strong>  <strong>名称</strong> （接线盒）</li>
</ul>
<p><img src="/static/img/7ea2da6c2d2cbf1379d6ff93efc48be9.image.png" alt="image.png"></p>
<ul>
<li>技术数据  宏  <strong>右边...</strong>  （选择保存的窗口宏）<br>
<img src="/static/img/59ebd5a6bec4a656d87c2929846c0346.image.png" alt="image.png"></li>
</ul>
<p>然后点击 <strong>应用</strong></p>
<p>右键 <strong>目录树</strong> → 刚刚新建的部件（接线盒）<br>
点击 <strong>分配功能模板</strong></p>
<p><img src="/static/img/767ed78e4e4f39fd3b9e5615ab3b8e06.image.png" alt="image.png"><br>
<img src="/static/img/257d137f7999920dc4d1f98e7b22a1bf.image.png" alt="image.png"></p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/自我提升">自我提升</category>
        </item>
        <item>
            <title><![CDATA[Eplan学习笔记-07端子排与电缆]]></title>
            <link>http://blog.wilsonzy.cn/post/127</link>
            <guid>http://blog.wilsonzy.cn/post/127</guid>
            <pubDate>Mon, 20 Jan 2025 08:54:54 GMT</pubDate>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <!-- more -->
<h4>端子</h4>
<p>项目数据 → 端子排 → 导航器</p>
<p><img src="/static/img/a0a3eda16fc7439f44b6b0349ff34238.image.png" alt="image.png"></p>
<p>在<strong>端子排导航器里</strong> 右击 → 选择<strong>新功能</strong></p>
<ul>
<li>编号式样：指有多少个这样的端子（1-5代表有5个这样的端子）</li>
</ul>
<p><img src="/static/img/7ed894a66bf28c368d03232fed5ad2c9.image.png" alt="image.png"></p>
<ul>
<li>功能定义</li>
</ul>
<p><img src="/static/img/91dda6bd7284d34f1d692b631d713dcb.image.png" alt="image.png"></p>
<ul>
<li><strong>多层端子</strong>：指一片端子上有多少个点位</li>
</ul>
<p><img src="/static/img/9320375969832a72b9f1a830c699f72d.image.png" alt="image.png"></p>
<p>3层端子<br>
<img src="/static/img/867103a67b471e88fc0e0e98e0c7d033.image.png" alt="image.png"></p>
<h4>电缆</h4>
<p>项目数据 → 电缆 → 导航器</p>
<p><img src="/static/img/ad2ede8f9d50f99587226fd8c4054444.image.png" alt="image.png"></p>
<p>在<strong>电缆导航器里</strong> 右击 → 选择<strong>新建</strong></p>
<p><img src="/static/img/f335c2b7451f1c31054ba439d45de6a8.image.png" alt="image.png"></p>
<p><img src="/static/img/c2931a0adf2d19e6eefba22031d79aa0.image.png" alt="image.png"></p>
<p>编辑电缆属性</p>
<p><img src="/static/img/b0ee3230d848b07ca145c29a944a4687.image.png" alt="image.png"></p>
<p>在图形编辑区域左侧合适位置点一下，然后向右拖动</p>
<p><img src="/static/img/26e248cb7fda6e5af7e6c3d9ed1ebaec.image.png" alt="image.png"></p>
<h4>线号</h4>
<p><img src="/static/img/2490790a88764f7f4676c7aa89d80c84.image.png" alt="image.png"></p>
<p>插入 → 连接定义点</p>
<p><img src="/static/img/eba49fc929e55b704316716e5a87a564.image.png" alt="image.png"></p>
<p>输入<strong>电位名称</strong>和<strong>电位类型</strong></p>
<p><img src="/static/img/a0dc97af739ce320500099d41218220c.image.png" alt="image.png"></p>
<p><img src="/static/img/da669977c4c181911c34b45237670bb8.image.png" alt="image.png"></p>
<p><strong>自动放置</strong></p>
<p>在<strong>页导航器</strong>选中最顶端<strong>项目的名称</strong><br>
项目数据 → 连接 → 编号 → 放置<br>
<img src="/static/img/e5a966c584c2520471f53f060329517f.image.png" alt="image.png"></p>
<p>在弹出的对话框选择 <strong>基于信号</strong> 点击【<strong>…</strong>】</p>
<p><img src="/static/img/2463586170710faa8e66aa67d6b7e3eb.image.png" alt="image.png"></p>
<p>点击【放置】在【编号/名称】选择【CDP】</p>
<p><img src="/static/img/4243f5fd4e0df521c5b7d77c328550d1.image.png" alt="image.png"></p>
<p><img src="/static/img/22f0ac81d374cd7c931b0409d8333934.image.png" alt="image.png"></p>
<p>编辑连接计数方式</p>
<p><img src="/static/img/0fe0d89326020f76b83d3b912966063d.image.png" alt="image.png"></p>
<p><img src="/static/img/f18ba8453cd22d03f96b8804c8a21db7.image.png" alt="image.png"></p>
<p>点击【确定】</p>
<p><img src="/static/img/c0045c7a8e6c0ecf910f987fbc5a4da2.image.png" alt="image.png"></p>
<p>单击<strong>确定</strong>后，即可完成线号的添加</p>
<p>出现的是 <strong>???</strong> (未命名）</p>
<p><img src="/static/img/bba35ded78556415ab620a93e0786c2e.image.png" alt="image.png"></p>
<p><strong>重命名线号</strong><br>
再次选中<strong>页导航器</strong>最顶端<strong>项目的名称</strong><br>
项目数据 → 连接 → 编号 → 命名</p>
<p><img src="/static/img/6b4703d9d9ec9f94a893131d915d4084.image.png" alt="image.png"></p>
<p>勾选【<strong>结果预览</strong>】点击【确定】 预览中可以看到，线号的编号都被定义命名。</p>
<p><img src="/static/img/9d6776c5ee1d36f3b1c50f252be41f2a.image.png" alt="image.png"></p>
<p>线号的放置完成，可以看到之前的【<strong>？？？</strong>】被定义命名</p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/自我提升">自我提升</category>
        </item>
        <item>
            <title><![CDATA[Eplan学习笔记-06图框制作]]></title>
            <link>http://blog.wilsonzy.cn/post/126</link>
            <guid>http://blog.wilsonzy.cn/post/126</guid>
            <pubDate>Mon, 20 Jan 2025 07:51:16 GMT</pubDate>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <!-- more -->
<h4>图框制作</h4>
<p>工具 → 主数据 → 图框 → 复制</p>
<p><img src="/static/img/62194b0acc7b5ba7e0d776f481e44538.image.png" alt="image.png"></p>
<p>然后 <strong>重命名</strong>  → 打开</p>
<p><img src="/static/img/7966a2bdc45693daa89fe07b24601658.image.png" alt="image.png"></p>
<p>开启对象捕捉<br>
<img src="/static/img/8a8a72299120b606147a40c6667dd87a.image.png" alt="image.png"></p>
<h4>制作行号</h4>
<p>尺寸标注内框尺寸，然后行6等分 、列4等分</p>
<p>插入行号、列号<br>
<strong>特殊文本</strong> → 行文本<br>
<img src="/static/img/abf2c17defa280f6c70a7600f3ace4a4.image.png" alt="image.png"></p>
<p><img src="/static/img/a28a9428922c76dbb1daea0204b6a3c4.image.png" alt="image.png"></p>
<h4>标题栏</h4>
<ol>
<li>黑色字体为<strong>普通文本</strong></li>
<li>蓝色字体为<strong>特殊文本</strong></li>
</ol>
<p><img src="/static/img/c301432c49f21e78b1cdfb43eb923b0f.image.png" alt="image.png"><br>
普通文本属性</p>
<p><img src="/static/img/bbb5ba12befb37047ab32785767598c1.image.png" alt="image.png"></p>
<p>特殊文本可以<strong>自定义属性</strong>显示</p>
<p><img src="/static/img/e3e15599672a81111d77520da308f2ab.image.png" alt="image.png"></p>
<p>图框展示<br>
<img src="/static/img/2da9a52a3cf2b3855197db9ec0b5f006.image.png" alt="image.png"></p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/自我提升">自我提升</category>
        </item>
        <item>
            <title><![CDATA[Eplan学习笔记-05部件管理]]></title>
            <link>http://blog.wilsonzy.cn/post/125</link>
            <guid>http://blog.wilsonzy.cn/post/125</guid>
            <pubDate>Mon, 20 Jan 2025 07:12:37 GMT</pubDate>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <!-- more -->
<h4>新建部件</h4>
<p>打开工具 → 部件 → 部件管理</p>
<p><img src="/static/img/9f65f3cc3ee978754cb076197b2c5c39.image.png" alt="image.png"></p>
<p>例：<strong>断路器</strong></p>
<p><img src="/static/img/72013e568936d73c9bfe597ca6d130ab.image.png" alt="image.png"><br>
右键  <strong>新建</strong></p>
<ul>
<li>常规（部件编号、制造商）</li>
</ul>
<p><img src="/static/img/a569a947f1beb28540cfc52e32a5d11c.image.png" alt="image.png"></p>
<ul>
<li>安装数据（图形宏、图片文件）</li>
</ul>
<p><img src="/static/img/2d08bdf5f2b158bffcf8801304a9a3c6.image.png" alt="image.png"></p>
<ul>
<li>技术数据（技术参数、部件分组）</li>
</ul>
<p><img src="/static/img/547ef9a16fbf7b1668666526a0e45c89.image.png" alt="image.png"></p>
<ul>
<li>功能模板<br>
新建功能模板<br>
功能定义：<strong>断路器</strong><br>
连接点代号：1¶2    （换行符：<strong>Ctrl+回车键</strong>）<br>
符号：<br>
<img src="/static/img/554a05c33e8684c02ba61cfe548dbff8.image.png" alt="image.png"><br>
点<strong>应用</strong> 保存</li>
</ul>
<p>在<strong>部件管理导航器</strong>里选中<strong>刚新建的断路器</strong><br>
右键<strong>分配功能模板</strong></p>
<p><img src="/static/img/2775f7d643c7fe2eb53fe79366113c71.image.png" alt="image.png"><br>
<img src="/static/img/257d137f7999920dc4d1f98e7b22a1bf.image.png" alt="image.png"></p>
<h4>部件导入</h4>
<p>工具 → 部件 → 管理<br>
右键 附加 →导入<br>
<img src="/static/img/d8c397c74841826c0b485df8c6d99462.image.png" alt="image.png"><br>
<img src="/static/img/592b688240f8a0bac15ce0e9b2b63a65.image.png" alt="image.png"></p>
<p>导入.<strong>edz</strong>格式文件</p>
<p><img src="/static/img/84b151da6340a8fa0b6a71aeec75797d.image.png" alt="image.png"></p>
<h4>自定义部件结构树</h4>
<p>工具 → 部件 → 管理<br>
右键 附加 →设置<br>
<img src="/static/img/d8c397c74841826c0b485df8c6d99462.image.png" alt="image.png"></p>
<p><img src="/static/img/6d92d6d33bfdb209e48f44010d318dc0.image.png" alt="image.png"></p>
<p><strong>树结构配置</strong><br>
点击 <strong>默认设置</strong>右边[<strong>...</strong>]</p>
<p><img src="/static/img/158e9bc5cd83f8bed797abefd417ace0.image.png" alt="image.png"><br>
新建 <strong>树结构</strong><br>
<img src="/static/img/39060c263e9c59e25e72098a447de05f.image.png" alt="image.png"></p>
<p>在自定义部件结构  新建<strong>部件</strong>节点</p>
<p><img src="/static/img/78c4f04e3b90470fba9efa847274e79c.image.png" alt="image.png"></p>
<p>点击右边[<strong>...</strong>]配置 <strong>节点</strong> 属性</p>
<p><img src="/static/img/1dff2e5d5ebc36c744c60c586d818c52.image.png" alt="image.png"><br>
<img src="/static/img/038eb3a3c15c06d34d84d3b0570997d2.image.png" alt="image.png"></p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/自我提升">自我提升</category>
        </item>
        <item>
            <title><![CDATA[Eplan学习笔记-04面向对象绘制方式]]></title>
            <link>http://blog.wilsonzy.cn/post/124</link>
            <guid>http://blog.wilsonzy.cn/post/124</guid>
            <pubDate>Mon, 20 Jan 2025 06:33:02 GMT</pubDate>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <!-- more -->
<p>打开项目数据 → 设备 → 导航器</p>
<p><img src="/static/img/db42893c18c89f98b8740f9aeb301d00.image.png" alt="image.png"></p>
<p>设备导航器如下<br>
<img src="/static/img/500a08c301554ccdf83759c128467b5e.image.png" alt="image.png"></p>
<p>打开工具 → 部件 → 部件主数据导航器</p>
<p><img src="/static/img/03f823b9acf9d666130d3eef9f0164ac.image.png" alt="image.png"></p>
<p>部件主数据导航器<br>
<img src="/static/img/8f5a15218108dece7e721b68f3cef531.image.png" alt="image.png"></p>
<p><strong>断路器插入</strong><br>
在<strong>部件主数据导航器</strong>里找到 <strong>安全设备</strong> → 安全开关</p>
<p><img src="/static/img/825db205071e6173f66014cb01af6cd5.image.png" alt="image.png"></p>
<p>拖2个到图形编辑区</p>
<p><img src="/static/img/3b46239c7d2db06b9dbfc8fb8274744d.image.png" alt="image.png"></p>
<p>左侧设备导航器里，出现Q1和Q2</p>
<p><img src="/static/img/9a23fa5bc5f27fa0a7ea358d0748eae4.image.png" alt="image.png"></p>
<p>将接触器、热继电器和电机分别拖到图形编辑区域</p>
<p><img src="/static/img/6e427e737896524ec4de3e8379e01bcc.image.png" alt="image.png"></p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/自我提升">自我提升</category>
        </item>
        <item>
            <title><![CDATA[树的方向风决定， 人的方向自己决定]]></title>
            <link>http://blog.wilsonzy.cn/post/123</link>
            <guid>http://blog.wilsonzy.cn/post/123</guid>
            <pubDate>Sat, 26 Apr 2025 04:41:52 GMT</pubDate>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <!-- more -->
<p>稻盛和夫的这些话富有哲理，充满了激励人心的力量。每一句话都带有对人生、成长与突破的深刻思考</p>
<p><strong>1、“人，不走出去：家就是你的世界。走出去，世界就是你的家。”</strong></p>
<p>这句话强调了跳出舒适区，拓展视野的意义。只有当你走出家门，走向更广阔的世界，你才会发现更多的机会和可能性。</p>
<p><strong>2、“人的潜能是无限的，安于现状将逐步被淘汰!”</strong></p>
<p>人的潜力远超想象，只有不断地挑战自己、不断地进步，才能避免被时代淘汰。安于现状只会使你停滞不前。</p>
<p><strong>3、“逼自己一把，突破自我。”</strong></p>
<p>这句话提倡自我挑战，通过设定更高的目标和要求逼迫自己超越舒适区，从而实现个人的突破与成长。</p>
<p><img src="/static/img/e4affa6415a58617780567801faf6969.image.png" alt="image.png"></p>
<p><strong>4、“人生只有一次，怎愿甘拜下风。”</strong></p>
<p>人生短暂，我们应该充分利用每一刻，勇敢追求梦想，绝不甘心于平庸。</p>
<p><strong>5、“趁年轻，一定要去折腾。”</strong></p>
<p>青年时期是最具活力和创造力的时期，不应畏惧失败，要勇于尝试和折腾，只有经历过才会有所收获。</p>
<p><strong>6、“一等二看三落空，一想二做三成功。”</strong></p>
<p>这句话告诉我们，行动是成功的关键。与其在等待和观望中浪费时间，不如立刻行动，去尝试、去做，成功会伴随而来。</p>
<p><strong>7、“树的方向风决定，人的方向自己决定。”</strong></p>
<p>这句话强调了人类的自主性与主导权，外部的环境可能影响我们的生活，但最终决定我们方向的是我们自己的意志和选择。</p>
<pre><code>    稻盛和夫的思想强调自我努力、挑战和成长，以及对人生的积极态度，鼓励每个人都要敢于超越自己、追求更广阔的天地。
</code></pre>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/生活哲学">生活哲学</category>
        </item>
        <item>
            <title><![CDATA[如何在忙碌的生活中找到平衡]]></title>
            <link>http://blog.wilsonzy.cn/post/122</link>
            <guid>http://blog.wilsonzy.cn/post/122</guid>
            <pubDate>Sun, 19 Jan 2025 12:46:42 GMT</pubDate>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <!-- more -->
<pre><code>在现代社会，生活节奏不断加快，许多人面临着如何在繁忙的工作和充实的个人生活之间找到平衡的挑战。无论是职场压力、家庭责任，还是个人兴趣和健康，如何合理分配时间和精力，避免陷入焦虑和压力，是每个人都需要思考的问题。那么，如何才能在忙碌的生活中找到平衡，保持身心健康，并实现事业与生活的和谐呢？
</code></pre>
<h4>1. 明确优先事项：理清生活的重点</h4>
<p>找到生活的平衡，首先需要明确自己的<strong>优先事项</strong>。每个人的生活重点不同，有的人可能注重事业发展，而有的人则把家庭和健康放在首位。只有清晰了解哪些事情最为重要，我们才能在忙碌的生活中做出理智的选择。</p>
<p><strong>建议</strong>：将工作、家庭、健康和个人兴趣等方面列出来，根据自己的生活目标为它们排定优先顺序。你可以尝试使用“重要-紧急矩阵”来评估每一项任务的紧迫性与重要性，并合理安排时间。</p>
<p><img src="/static/img/6ee17f9746ca5373f8e8cec236d3f643.image.png" alt="image.png"></p>
<h4>2. 学会设定界限：保护自己的时间与空间</h4>
<p>在生活中，工作、家庭和社交都可能占用我们的时间，尤其在现代社交媒体发达的背景下，工作和私人生活的界限变得模糊。为了避免过度投入某一方面，学会设定界限是非常必要的。</p>
<p><strong>建议</strong>：设定具体的<strong>工作时间</strong>和<strong>休息时间</strong>，尽量避免在休息时处理工作事务。你可以尝试为每个活动设定一个时间框架，确保每天都能腾出时间来陪伴家人、锻炼身体，或做一些让自己放松的事情。</p>
<p><img src="/static/img/32537acdb8610a62ebd6e2b8d5d00c80.image.png" alt="image.png"></p>
<h4>3. 时间管理：高效而有弹性地安排日程</h4>
<p>有效的时间管理是实现生活平衡的关键。通过合理规划每日的任务，可以确保工作、家庭和个人生活之间的和谐。</p>
<p><strong>建议</strong>：尝试使用<strong>时间管理工具</strong>，如番茄工作法或待办事项清单，将任务分解并设定合理的时限。同时，也要保持一定的弹性，应对突发的情况或计划变动。</p>
<p><img src="/static/img/837003970c81518f164cf76739912c73.image.png" alt="image.png"></p>
<h4>4. 保持健康：身心平衡是基础</h4>
<p><strong>健康是所有目标的基础</strong>。如果没有良好的身体和心理状态，再多的成就也无法享受。因此，保持健康不仅是为了工作效率，也是为了生活质量。</p>
<p><strong>建议</strong>：每天保持适度的运动，如散步、瑜伽或健身；保持均衡的饮食和充足的睡眠；注重心理健康，通过冥想、阅读、与朋友沟通等方式减压。</p>
<p><img src="/static/img/cdb99ed4dc59b4f83a3b3c59da3703a1.image.png" alt="image.png"></p>
<h4>5. 学会放松与享受当下</h4>
<p>现代社会的快节奏往往让我们忽视了放松与享受当下的重要性。<strong>放松</strong>不仅能够帮助恢复精力，还能减少焦虑和压力，提升生活质量。</p>
<p><strong>建议</strong>：每周为自己安排一些放松时间，如旅行、读书、听音乐或与亲友聚会。这些活动能够让你暂时脱离工作压力，保持良好的心理状态。</p>
<p><img src="/static/img/fe4c539541f16a65a6a35d83fae53c02.image.png" alt="image.png"></p>
<h4>6. 建立支持系统：与他人共同成长</h4>
<p><strong>人际关系是实现生活平衡的重要因素</strong>。与家人、朋友和同事保持良好的互动，不仅能减轻压力，还能提供情感支持，帮助你度过挑战时刻。</p>
<p><strong>建议</strong>：培养支持你的<strong>朋友圈</strong>，保持与亲友的联系。定期沟通和分享能帮助你缓解内心的困惑与压力。合作与团队精神不仅能增强工作效率，也能促进个人成长。</p>
<p><img src="/static/img/3ce16f6cb6028b4b718a085e89ffa016.image.png" alt="image.png"></p>
<h4>7. 灵活调整：平衡是动态的</h4>
<p>生活中的平衡不是一成不变的。随着年龄、家庭结构和事业发展的变化，个人需求和目标也会发生变化。平衡的关键是灵活调整，适应不同阶段的需要。</p>
<p><strong>建议</strong>：定期审视自己的生活状况和目标，灵活调整优先事项和时间分配。在不同的人生阶段，<strong>合理调整工作和生活的重心</strong>，才能实现持久的平衡。</p>
<p><img src="/static/img/54121a063a941da09d0a830d221b0a25.image.png" alt="image.png"></p>
<h4>总结</h4>
<p>在现代社会，找到生活的平衡并不容易，但通过明确优先事项、学会设定界限、有效时间管理、保持健康、享受当下、建立支持系统以及灵活调整目标，我们可以逐步实现工作与个人生活的和谐。<strong>生活的平衡不是一成不变的，它需要我们根据不同阶段的需求进行调整与优化</strong>。通过这些策略，我们可以在忙碌的生活中找到属于自己的平衡点，过上更充实、更有意义的生活。</p>
<p><img src="/static/img/272b98859fc83d75ad67c6e67894c015.image.png" alt="image.png"></p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/生活哲学">生活哲学</category>
        </item>
        <item>
            <title><![CDATA[WorkVisual与OL虚拟示教器连接]]></title>
            <link>http://blog.wilsonzy.cn/post/121</link>
            <guid>http://blog.wilsonzy.cn/post/121</guid>
            <pubDate>Sun, 19 Jan 2025 12:11:56 GMT</pubDate>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <!-- more -->
<h4>示教器设置</h4>
<p>1、示教器切换用户组为<strong>专家</strong>  密码：<strong>KUKA</strong></p>
<p><img src="/static/img/075fe80646340fcfa50764720edac8a5.image.png" alt="image.png"></p>
<p>2、主菜单 → 投入运行 → 网络配置</p>
<p><img src="/static/img/d7a20a88a6e41f285cafd98011f4e18a.image.png" alt="image.png"></p>
<p>3、修改<strong>示教器ip网段</strong></p>
<p><img src="/static/img/0650d04468140d25a834f1fd053e31f1.image.png" alt="image.png"></p>
<p>4、保存</p>
<p>5、将示教器<strong>冷启动</strong>一下，使修改的配置生效</p>
<h4>本地电脑网络设置</h4>
<p>修改本地虚拟网卡地址</p>
<p><img src="/static/img/5ffafbf1c907927d8c6be229b6c61fe7.image.png" alt="image.png"></p>
<p><img src="/static/img/ab37b779a8b19fa600f3942bd99ed134.image.png" alt="image.png"></p>
<h4>虚拟机设置</h4>
<p>打开<strong>虚拟机网络编辑器</strong></p>
<p><img src="/static/img/ed1fb1f81bf1f0d4790e3aa65e85b1a2.image.png" alt="image.png"></p>
<p>配置<strong>VMnet8</strong>虚拟网卡网段  <strong>NAT模式</strong></p>
<p><img src="/static/img/37924cbd801a06a5e611557bd57bcb3a.image.png" alt="image.png"></p>
<p>:::info{title=&quot;相关信息&quot;}<br>
IP要设为192.168.2.0，地址要设为<strong>0</strong>，不然会有<strong>IP与子网掩码不匹配</strong>的错误提示<br>
:::</p>
<h4>WorkVisual</h4>
<p>打开软件</p>
<p><img src="/static/img/5ba5cac98fda7fabcc1099756f3521ee.image.png" alt="image.png"></p>
<p>搜索项目</p>
<p><img src="/static/img/8f881628dcdf1085a1982b9affe29a95.image.png" alt="image.png"></p>
<p>双击<strong>WorkingProject</strong>打开项目</p>
<p><img src="/static/img/49913f37bf37682aedae25c01014c8ec.image.png" alt="image.png"></p>
<p><img src="/static/img/31282175513f756a767b55afadcdbd1e.image.png" alt="image.png"></p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/自我提升">自我提升</category>
        </item>
        <item>
            <title><![CDATA[Eplan学习笔记-03多线原理图绘制]]></title>
            <link>http://blog.wilsonzy.cn/post/120</link>
            <guid>http://blog.wilsonzy.cn/post/120</guid>
            <pubDate>Mon, 20 Jan 2025 05:08:00 GMT</pubDate>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <!-- more -->
<h4>多线原理图绘制</h4>
<p><strong>电源分配</strong><br>
新建页</p>
<p><img src="/static/img/4dda76f4b46ebbac4d4b620fc4676522.image.png" alt="image.png"></p>
<p>页类型：多线原理图<br>
页描述：工位1布局</p>
<p>打开栅格<br>
<img src="/static/img/8070229f36abe5ad11173f39615c9526.image.png" alt="image.png"></p>
<p>菜单栏插入→ 电位连接点<br>
在屏幕上点击放的位置<br>
<img src="/static/img/4c38a70d7969b24d0ae57f5373555920.image.png" alt="image.png"></p>
<p>弹出属性对话框</p>
<p><img src="/static/img/2595b722edad108b0554d97117ab7cd5.image.png" alt="image.png"></p>
<p>在电位名称输入<strong>R</strong></p>
<p>依次进行 N S T 其他电位相应操作<br>
<img src="/static/img/0b2f58ec10f313c48211e1850b3b0060.image.png" alt="image.png"></p>
<p><img src="/static/img/622c73638b188be10f181201b467039c.image.png" alt="image.png"><br>
:::info{title=&quot;相关信息&quot;}<br>
按Tab键可旋转图形，或改变未放置的符号朝向<br>
:::</p>
<h4>符号插入</h4>
<p><strong>插入断路器符号</strong></p>
<p>插入 → 符号 → 断路器</p>
<p><img src="/static/img/699c9ad8c6f6628a4958100e951df22d.image.png" alt="image.png"></p>
<p>右键插入的<strong>符号</strong>，在弹出的<strong>属性对话框</strong>中设置设备标识符和其他相关的功能参数</p>
<p><img src="/static/img/77a6e12b4f0fba60ed17a3d47a124381.image.png" alt="image.png"></p>
<p>右键<strong>多重复制</strong></p>
<p><img src="/static/img/2aa4a88b12395477451930bed9833621.image.png" alt="image.png"></p>
<p>输入还需要复制的<strong>数量</strong></p>
<p><img src="/static/img/6ab9d09b74d7e73a9f43d5f556e6f951.image.png" alt="image.png"></p>
<p><strong>编号</strong>更改</p>
<p><img src="/static/img/e608bf3d845e211e37e0c09573bfd280.image.png" alt="image.png"></p>
<p><img src="/static/img/aa09c9a136372a65dea6092ee9667e5d.image.png" alt="image.png"></p>
<p>多重复制只在<strong>当前页内有效</strong>，跨页无效</p>
<h4>连接符号</h4>
<p>连接符号又被称作动态连接符号。在EPLAN中，<strong>自动连接只能进行水平或垂直电气连接</strong>，其余情况需使用连接符号连接。<br>
在EPLAN中主要有以下几种连接符号：角、T节点、跳线、中断点</p>
<p><img src="/static/img/94f24d976d3a538728c78f028c6cb0f4.image.png" alt="image.png"></p>
<p>:::info{title=&quot;相关信息&quot;}<br>
中间的线用T节点，末尾的线用角线<br>
:::<br>
<strong>T节点和跳线</strong>又可以通过勾选“<strong>作为点描绘</strong>”变为描绘点：</p>
<p><img src="/static/img/948d9d40d56f2726969e569d0e3b44cd.image.png" alt="image.png"></p>
<p>相邻的连接点可以借用<strong>跳线</strong>以跨接线的形式进行连接</p>
<p><img src="/static/img/a6d2f34635a73415e25e064c98c0b6bc.image.png" alt="image.png"></p>
<ul>
<li>3根线相连，快捷键 <strong>J</strong></li>
<li>线1和线3相连，点 <strong>角</strong> 按键盘 <strong>SPECIAL</strong> 选择 <strong>LBRL</strong>(交叉连接处用半圆）</li>
</ul>
<h4>中断点</h4>
<p>将当前页中的电线  引到后面页上去，并添加关联</p>
<p><img src="/static/img/fa32de0253ebbee6fd1f5c5297268bbd.image.png" alt="image.png"></p>
<p><img src="/static/img/e17c7c2ceb4dc71a0209a2dc118462eb.image.png" alt="image.png"><br>
按 <strong>Tab</strong> 键  切换红色箭头方向<br>
修改中断点名称  R2 S2 T2 PE</p>
<p><strong>中断点标号显示方向</strong></p>
<p>右键属性  → <strong>符号数据</strong>  →  变量<strong>A</strong>改为变量<strong>E</strong></p>
<p><img src="/static/img/fc2da24132780f3274355afc188f660b.image.png" alt="image.png"></p>
<p>修改前<br>
<img src="/static/img/4e7a50664fdb1b671215790812ccaf02.image.png" alt="image.png"></p>
<p>修改后<br>
<img src="/static/img/7bd95cfac74df981e9064a274f26924d.image.png" alt="image.png"></p>
<p><strong>中断点排序</strong><br>
在第2页   右击<strong>中断点</strong>  属性<br>
将设备标识符下方的<strong>序号</strong>  设为<strong>2</strong></p>
<p><img src="/static/img/45155fb7a94acbade4264d84d7d3f659.image.png" alt="image.png"></p>
<p>第3页  属性里的<strong>设备标识符序号</strong>就设为<strong>3</strong></p>
<p>项目数据  →  连接  →  中断点导航器</p>
<p><img src="/static/img/6052e62b6c37d63c2f21b74b346d48d2.image.png" alt="image.png"></p>
<p>右键1L1 中断点排序  向上移动和向下移动调整</p>
<p><img src="/static/img/1b2af49f23022fe5effa3a4d3f19f70a.image.png" alt="image.png"></p>
<p>:::info{title=&quot;相关信息&quot;}<br>
中断点一定是<strong>偶数</strong><br>
:::</p>
<h4>工作区域</h4>
<p>项目数据 → 设备/部件 → 2D安装布局导航器<br>
<img src="/static/img/255a0b0071f178ab6a2bdb298a514241.image.png" alt="image.png"></p>
<p>将当前页面布局保存<br>
视图 → 工作区域 → 新建 → 2D安装布局</p>
<p><img src="/static/img/1fb800337e62f551b54f583d3d5eef28.image.png" alt="image.png"></p>
<p><img src="/static/img/44b401cf6b8c1ec25e674fc42623567a.image.png" alt="image.png"></p>
<h4>绘制电机回路</h4>
<p>项目数据 → 符号</p>
<ul>
<li>1、将断路器拖到图形编辑区，并修改名称-QF1</li>
<li>2、插入3个常开触点，并修改名称-KM1</li>
<li>3、插入热继电器 修改名称-FR1</li>
<li>4、插入电机 修改名称-M1</li>
</ul>
<p><img src="/static/img/f46ebd2482f366a20af73bb6333a28b6.image.png" alt="image.png"></p>
<p>复制绘制电机正反转回路<br>
键盘输入法切换成<strong>英文</strong>，按下 <strong>Y</strong> 键对齐   然后编号<br>
<img src="/static/img/9f9567589f885e056f365349ea586232.image.png" alt="image.png"></p>
<p><img src="/static/img/3158dc6371f20a964d75a693be7a751f.image.png" alt="image.png"></p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/自我提升">自我提升</category>
        </item>
        <item>
            <title><![CDATA[Eplan学习笔记-02页管理]]></title>
            <link>http://blog.wilsonzy.cn/post/119</link>
            <guid>http://blog.wilsonzy.cn/post/119</guid>
            <pubDate>Sat, 18 Jan 2025 10:32:21 GMT</pubDate>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <!-- more -->
<h4>页属性</h4>
<p><strong>页</strong>是原理图、报表等内容的载体，可以通过打印方式输出为纸质的图纸</p>
<p>按生成方式，页可分为交互式和自动式</p>
<ol>
<li>交互式：即手动绘制图纸</li>
<li>自动式：根据评估逻辑图纸生成</li>
</ol>
<p>每个页都有一个特定的页类型，交互式图纸类型如下：</p>
<p><img src="/static/img/5588c49129790957c8913c163c97a756.image.png" alt="image.png"></p>
<p>常用交互式图纸说明：</p>
<ol>
<li>多线原理图用于绘制多线图</li>
<li>单线原理图用于绘制单线图</li>
<li>安装板布局图用于绘制柜体的安装图</li>
</ol>
<p>完整页名由<strong>结构标识符</strong>和<strong>页名</strong>组成，而<strong>结构标识符由高层代号和位置代号</strong>组成</p>
<p><img src="/static/img/c8455a71474f2ffded764a40cb8addaf.image.png" alt="image.png"></p>
<ul>
<li>高层代号：描述设备功能 ，前缀符号为“=”</li>
<li>位置代号：描述设备安装位置，前缀符号为“+”</li>
<li>页名：页名称<br>
输入“高层代号”为L001，“位置代号”为OP020，“页名”为3，则图纸完整页名为“=L001+OP020/3”。</li>
</ul>
<p>页导航器列出了项目中所有的页，可执行基于页的重要编辑操作<br>
页导航器在eplan启动后自动激活</p>
<p><img src="/static/img/47fa7fd09d38cff7f3609b430c30b2dc.image.png" alt="image.png"></p>
<h4>页的导出</h4>
<p>先在<strong>页导航器中</strong>选中需要导出的图纸，也可直接选中整个项目输出所有图纸：</p>
<ul>
<li>导出PDF：页&gt;导出&gt;PDF</li>
<li>导出图片：页&gt;导出&gt;图片</li>
</ul>
<p>也可以以<strong>打印成pdf</strong>的方式另存为所有图纸为pdf格式，在这种操作方式下页只能以<strong>黑白形式</strong>保存。</p>
<p><strong>浏览页的基本操作</strong>：</p>
<ul>
<li>缩放页面：滚动鼠标滚轮</li>
<li>移动页面：按住鼠标滚轮&gt;移动</li>
</ul>
<h4>自动生成页</h4>
<p><strong>封面页</strong><br>
标题页/封页的创建方法如下：<br>
右击项目名称，选择【<strong>新建</strong>】，点击【<strong>页类型</strong>】行 最右侧的【<strong>…</strong>】按钮，在弹窗中选择【<strong>标题页/封页</strong>】，务必指定【<strong>表格名称</strong>】和【<strong>图框名称</strong>】，否则将创建不成功</p>
<p><img src="/static/img/fefc8ee162fc253dc4a12d372ca56ecb.image.png" alt="image.png"></p>
<p>创建好的封面如下</p>
<p><img src="/static/img/f5113ea8c5be996176a7604dab4d4d29.image.png" alt="image.png"><br>
右击项目名称，选择属性</p>
<p><img src="/static/img/57efe0df37e832d91425994741d9b1c8.image.png" alt="image.png"></p>
<p>可修改标题页/封面的相关信息</p>
<p><img src="/static/img/e315938b6f85811bf218ede83d6cdcc2.image.png" alt="image.png"></p>
<p>:::info{title=&quot;相关信息&quot;}<br>
注意页导航器中的筛选器要选择“<strong>未激活</strong>”，否则封页将不会在页导航器中显示<br>
:::</p>
<p><img src="/static/img/2925141ed9125de140eea236f9f8e8e2.image.png" alt="image.png"></p>
<p><strong>页筛选器</strong></p>
<p>可通过筛选器对话框将不同的<strong>页属性</strong>和 / 或页上所放置功能的属性及功能定义用作筛选标准，将仅显示在其上放置了功能且这些功能的属性值或功能定义与所设置标准<strong>相匹配</strong>的页</p>
<h4>给页编号和重命名</h4>
<p><strong>给页编号</strong></p>
<ol>
<li>页 &gt; 编号</li>
<li>在给页编号对话框中输入新的<strong>起始号和增量</strong>（及根据需要输入其它的页号）</li>
<li>点击 [<strong>确定</strong>]<br>
如果已存在的页都没有被覆盖，则重新编辑页号<br>
如果通过选择起始编号和增量而使页名被覆盖，则打开给页编号：结果预览对话框</li>
</ol>
<p><img src="/static/img/29979346a23daafc89dad4c314f60578.image.png" alt="image.png"><br>
4. 修改相关页属性。点击 [<strong>确定</strong>]给页重新编号</p>
<p><strong>页重命名</strong><br>
页 &gt; 重命名<br>
输入一个新的页名，并按 [ENTER]<br>
重命名页，同时保留页描述</p>
<h4>eplan自动生成目录</h4>
<p>点击工具栏上的  工具----报表---生成</p>
<p><img src="/static/img/9e4bce9bb1a7bd9cea46c2adfe38fd8f.image.png" alt="image.png"></p>
<p>点击<strong>模板</strong>选项卡----点击<strong>新建</strong>模板按钮新建一个模板<br>
由于我们需要输出的<strong>目录</strong>这里我们选择目录，当然如果需要其他的我们也可以选择其它的<strong>报表类型</strong></p>
<p><img src="/static/img/c59f3e2b568103b1f97cb948c7a5feb3.image.png" alt="image.png"></p>
<p>筛选器选择<strong>未激活</strong>将所有页都生成目录</p>
<p><img src="/static/img/8934362f204ab9db6f39995b0a69de2c.image.png" alt="image.png"></p>
<p>目录的<strong>名字页码</strong>可以自行修改</p>
<p><img src="/static/img/4c583af1aa58a83316aa3facd86474af.image.png" alt="image.png"></p>
<p>点击<strong>生成报表</strong>按钮生成目录</p>
<p><img src="/static/img/4118bfcabb6828528d5f3bcdb55b580e.image.png" alt="image.png"></p>
<p>查看自动生成的目录</p>
<p><img src="/static/img/a8f997f3d6417343892fb9112eb72f0a.image.png" alt="image.png"></p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/自我提升">自我提升</category>
        </item>
        <item>
            <title><![CDATA[Eplan学习笔记-01项目管理]]></title>
            <link>http://blog.wilsonzy.cn/post/118</link>
            <guid>http://blog.wilsonzy.cn/post/118</guid>
            <pubDate>Sat, 18 Jan 2025 09:33:33 GMT</pubDate>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <!-- more -->
<h4>eplan项目的创建</h4>
<ol>
<li>选择项目 &gt; <strong>新建</strong>菜单项</li>
<li>在创建项目对话框的项目名称框中输入无文件扩展名的<strong>项目名称</strong></li>
</ol>
<p><img src="/static/img/ff3e522d9481351fc7c57b4bb28db676.image.png" alt="image.png"></p>
<ol start="3">
<li>在模板框旁边点击 [<strong>...</strong>]，且在选择项目模板/基本项目对话框中转换到模板所在目录中</li>
</ol>
<p><img src="/static/img/67413209169bea32bca4be3cf93f38b9.image.png" alt="image.png"></p>
<ol start="4">
<li>
<p>在文件类型框中选择 EPLAN 项目模板 (<em><strong>.ept</strong>) 或 EPLAN 基本项目 (</em><strong>.zw9</strong>) 记录</p>
</li>
<li>
<p>标记所需的模板，并点击 [打开]</p>
</li>
<li>
<p>点击 [<strong>确定</strong>]</p>
<p>在目标目录中创建新项目 *.elk</p>
<p>如果使用项目管理，则将新建项目自动读取到项目管理中</p>
</li>
</ol>
<p>常用模板标准如下，通常选择<strong>GB_tpl001</strong></p>
<ul>
<li>GB_：中华人民共和国国家标准</li>
<li>GOST_：俄罗斯强制认证标准</li>
<li>IEC_：国际电工委员会标准</li>
<li>NFPA_：美国国家消防协会标准</li>
</ul>
<h4>项目的关闭</h4>
<p>菜单：项目&gt;关闭</p>
<p><img src="/static/img/4a3cb92c6e979ccad4a4e665168f098c.image.png" alt="image.png"></p>
<p>:::info{title=&quot;相关信息&quot;}<br>
EPLAN实时自动保存，没有手动保存选项<br>
:::</p>
<h4>项目结构</h4>
<p>项目结构由页结构和设备结构构成</p>
<ol>
<li>选择项目 &gt; <strong>属性</strong>菜单项,并将结构选项卡置顶</li>
<li>从页下拉列表中选择一个可用的标识符配置，或点击 [<strong>...</strong>]，以通过<strong>页结构</strong>后续对话框确定一个用户自定义的页结构</li>
<li>在下拉列表中为<strong>设备类型</strong>，比如常规设备，选择一个可用的标识符配置，或点击 [...]，以通过设备结构后续对话框确定一个<strong>用户自定义的设备结构</strong></li>
<li>如果需要使用子标识符,则通过[其它]按钮转到扩展的项目结构对话框,并在这里选择一个分隔符</li>
<li>点击 [<strong>确定</strong>]</li>
</ol>
<p><strong>结构标识符构造的示例</strong></p>
<p>一个页的结构标识符 =AP+ST1/6</p>
<table>
<thead>
<tr>
<th>标识符</th>
<th>含义</th>
</tr>
</thead>
<tbody>
<tr>
<td>=</td>
<td>用于&quot;高层代号&quot;标识块的后续结构标识符的前缀</td>
</tr>
<tr>
<td>AP</td>
<td>用于&quot;高层代号&quot;标识块的结构标识符</td>
</tr>
<tr>
<td>+</td>
<td>用于&quot;位置代号&quot;标识块的后续结构标识符的前缀</td>
</tr>
<tr>
<td>ST1</td>
<td>用于&quot;位置代号&quot;标识块的结构标识符</td>
</tr>
<tr>
<td>/</td>
<td>页名前的分隔符</td>
</tr>
<tr>
<td>6</td>
<td>页名</td>
</tr>
</tbody>
</table>
<p>一个设备的结构标识符 =AP+ST1-F6</p>
<table>
<thead>
<tr>
<th>标识符</th>
<th>含义</th>
</tr>
</thead>
<tbody>
<tr>
<td>=</td>
<td>用于&quot;高层代号&quot;标识块的后续结构标识符的前缀</td>
</tr>
<tr>
<td>AP</td>
<td>用于&quot;高层代号&quot;标识块的结构标识符</td>
</tr>
<tr>
<td>+</td>
<td>用于&quot;位置代号&quot;标识块的后续结构标识符的前缀</td>
</tr>
<tr>
<td>ST1</td>
<td>&quot;位置代号&quot;1 标识块的结构标识符</td>
</tr>
<tr>
<td>-</td>
<td>用于&quot;设备&quot;标识块的后续结构标识符的前缀</td>
</tr>
<tr>
<td>F6</td>
<td>用于&quot;设备&quot;标识块的结构标识符</td>
</tr>
</tbody>
</table>
<p><img src="/static/img/0a001972443ffbfa016579f61401ccbc.image.png" alt="image.png"></p>
<h4>压缩项目</h4>
<ol>
<li>
<p>选择项目 &gt; 组织 &gt; 压缩菜单项</p>
</li>
<li>
<p>点击压缩项目对话框中设置框旁边的 [...]</p>
</li>
<li>
<p>在设置：压缩对话框内选择您想要编辑的配置，或者请创建一个新的</p>
</li>
<li>
<p>请在要压缩的文件框中激活待压缩数据的复选框</p>
<p>如果您已为节点激活复选框，所有下一级选项自动一起得到选择</p>
</li>
<li>
<p>点击  (保存)</p>
</li>
<li>
<p>点击 [确定]</p>
</li>
<li></li>
</ol>
<h4>备份和恢复项目</h4>
<p>备份项目</p>
<ul>
<li>
<p>选择下列菜单项: 项目 &gt; 备份 &gt; 项目</p>
</li>
<li>
<p>在备份项目对话框中确定数据备份设置</p>
</li>
<li>
<p>点击 [确定]</p>
</li>
<li>
<p>根据输入内容，在规定的目录中备份</p>
</li>
</ul>
<p>:::info{title=&quot;相关信息&quot;}<br>
EPLAN 将记忆各个项目的设置，并且在重新备份过程加以引用<br>
:::</p>
<p>恢复项目</p>
<ul>
<li>在页导航器中选择项目 &gt; 恢复 &gt; 项目菜单项,或在项目管理对话框中选择[<strong>组织</strong>] &gt; 恢复</li>
<li>在恢复项目对话框中，在备份目录框内通过[<strong>...</strong>]按钮选择已备份项目所处目录</li>
<li>在项目列表中显示已选目录内包括的已备份项目</li>
<li>如果此目录中包含已拆分的备份文件,则将仅显示 *.000.zw1 文件,其它同属于此项目的备份文件( <em>.001.zw1、</em>.002.zw1等）则不予显示</li>
<li>标记想要恢复的项目。 可多选</li>
<li>在目标目录框内，通过[...]按钮选择数据备份应被复制入的目标目录</li>
<li>若只选定了一个项目，则请在项目名称框中可修改预设置的名称，以避免覆盖现有项目。</li>
<li>确认输入</li>
</ul>
<h4>打包和解包项目</h4>
<p>打包项目</p>
<ul>
<li>
<p>在页导航器中选中所需的项目</p>
</li>
<li>
<p>选择项目 &gt; 打包菜单项</p>
</li>
<li>
<p>确认输入</p>
</li>
<li>
<p>打包的项目以文件扩展名 *.elp 保存到项目目录，并在 EPLAN 中关闭</p>
</li>
</ul>
<p>解包项目</p>
<ul>
<li>选择项目 &gt; 解包菜单项</li>
<li>在打开项目对话框中，文件类型“ 打包的 EPLAN 项目 (*.elp)”已预设，即直接提供打包的项目</li>
<li>请在打开项目对话框中选择所需项目；并根据需要切换至另一目录</li>
<li>点击 [打开]</li>
<li>项目将解包，但并不打开</li>
</ul>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/自我提升">自我提升</category>
        </item>
        <item>
            <title><![CDATA[一周学会KUKA之Day7：机器人维护与安全操作规范]]></title>
            <link>http://blog.wilsonzy.cn/post/117</link>
            <guid>http://blog.wilsonzy.cn/post/117</guid>
            <pubDate>Tue, 14 Jan 2025 02:27:14 GMT</pubDate>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <!-- more -->
<p>机器人安全操作<br>
学习机器人工作区域的安全防护要求，了解急停按钮、安全围栏等硬件设施。<br>
机器人日常维护：定期检查机器人关节、控制器及电缆的状态，保持设备的良好运行。</p>
<p><img src="/static/img/defbbaf18e6c140316c103af538b520f.image.png" alt="image.png"></p>
<table>
<thead>
<tr>
<th>序号</th>
<th>插头</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>X250</td>
<td>SIB 供电</td>
</tr>
<tr>
<td>2</td>
<td>X251</td>
<td>其他组件的供电</td>
</tr>
<tr>
<td>3</td>
<td>X252</td>
<td>安全输出端</td>
</tr>
<tr>
<td>4</td>
<td>X253</td>
<td>安全输入端</td>
</tr>
<tr>
<td>5</td>
<td>X254</td>
<td>安全输入端</td>
</tr>
<tr>
<td>6</td>
<td>X259</td>
<td>库卡系统总线</td>
</tr>
<tr>
<td>7</td>
<td>X258</td>
<td>库卡系统总线</td>
</tr>
</tbody>
</table>
<h4>安全回路</h4>
<p>X253      X11</p>
<p>测试输出端A<br>
4→1  5→3  14→5  15→7  16→9</p>
<p>测试输出端B<br>
6→19  7→21  8→23  17→25  18→27</p>
<p>信道A外部紧急停止<br>
12←2</p>
<p>信道B外部紧急停止<br>
13←20</p>
<p>操作人员防护信道A<br>
11←4</p>
<p>操作人员防护信道B<br>
1←22</p>
<p>确认操作人员防护装置A<br>
2←6</p>
<p>确认操作人员防护装置B<br>
3←24</p>
<p>安全运行停止A<br>
19←8</p>
<p>安全运行停止B<br>
20←26</p>
<p>安全停止STOP2信道A<br>
9←10</p>
<p>安全停止STOP2信道B<br>
10←28</p>
<p>X252      X11</p>
<p>确认操作人员防护装置A<br>
39←2← 常开 →4→40</p>
<p>确认操作人员防护装置B<br>
57←7← 常开 →9→58</p>
<h3>安全回路连接屏蔽</h3>
<p>主菜单  配置  用户组  安全维护人员  KUKA<br>
主菜单  投入运行  售后服务  投入运行模式<br>
投入运行模式✔    窗口栏T1上方显示IBM</p>
<p>:::info{title=&quot;注意&quot;}<br>
只能在T1和T2模式下生效<br>
:::</p>
<p>:::danger{title=&quot;何时该标定零点？&quot;}</p>
<ul>
<li>更换齿轮箱后</li>
<li>大于250mm/s 速度上移动到一个终端位置</li>
<li>碰撞后<br>
:::</li>
</ul>
<p><strong>维护前一般应检查当前的零点标定</strong></p>
<h4>零点丢失原因</h4>
<ul>
<li>接地不良，电磁干扰</li>
<li>roc模块损坏</li>
<li>X31线（编码线）热插拔</li>
</ul>
<p>如果机器人轴未经零点标定，则会严重限制机器人的功能：</p>
<ul>
<li>不能沿程序预设点运行</li>
<li>无法在手动模式下平移</li>
<li>软件限位开关关闭</li>
</ul>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/自我提升">自我提升</category>
        </item>
        <item>
            <title><![CDATA[一周学会KUKA之Day7：机器人调试技巧与故障排除]]></title>
            <link>http://blog.wilsonzy.cn/post/116</link>
            <guid>http://blog.wilsonzy.cn/post/116</guid>
            <pubDate>Mon, 13 Jan 2025 13:32:56 GMT</pubDate>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <!-- more -->
<p>:::info{title=&quot;为什么要标定零点？&quot;}<br>
仅在工业机器人得到充分和正确标定零点时，它的使用效果才会最好。 因为只有这样，机器人才能达到它最高的点精度和轨迹精度或者完全能够以编程设定的动作运动。<br>
:::</p>
<p><img src="/static/img/f14dbd1713cd0b061520dad45dbe57bf.image.png" alt="image.png"></p>
<h4>零点标定</h4>
<p>1.将机器人移到预零点标定位置</p>
<p><img src="/static/img/d252a09d4f9b126a2ce298600c29fdb6.image.png" alt="image.png"></p>
<p>2.主菜单  投入运行  零点标定  EMD  带负载校正  首次零点标定</p>
<ul>
<li>一个窗口自动打开。 所有待零点标定的轴都显示出来。 编号最小的轴已被选定</li>
</ul>
<p>3.从窗口中选定轴  并取下此轴上测量筒的防护盖  将 EMD 拧到测量筒上</p>
<p><img src="/static/img/0300029a1f9166b03fc1be4b9e40048d.image.png" alt="image.png"></p>
<p>4.轴（emd) 连接 X32(机器人接线盒)</p>
<p><img src="/static/img/d0c523abd2ac976e8c67d930d3986394.image.png" alt="image.png"></p>
<p>5.零点标定<br>
6.使能 启动</p>
<p><img src="/static/img/798c8ecf501de19803bd930ef4c6c648.image.png" alt="image.png"></p>
<p>:::warning{title=&quot;注意&quot;}<br>
始终将 EMD 不带测量导线拧到测量筒上。 然后方可将测量导线接到 EMD 上。 否则测量导线会被损坏。<br>
同样在拆除 EMD 时也必须先拆下 EMD 的测量导线。 然后才将 EMD 从测量筒上拆下。<br>
在零点标定之后，将测量导线从接口 X32 上取下。 否则会出现干扰信号或导致损坏。<br>
:::</p>
<ul>
<li>如果 EMD 通过了测量切口的最低点，则已到达零点标定位置。 机器人自动停止运行。 数值被储存。 该轴在窗口中消失。</li>
</ul>
<ol start="7">
<li>将测量导线从 EMD 上取下。 然后从测量筒上取下 EMD，并将防护盖重新装好</li>
<li>对所有待零点标定的轴重复步骤 2 至  6</li>
<li>关闭窗口</li>
<li>将测量导线从接口 X32 上取下</li>
</ol>
<h4>偏量学习</h4>
<p>储存与首次零点标定的差值（增量和度表示）<br>
1.将机器人移到预零点标定位置<br>
2.主菜单  投入运行  零点标定  EMD  带负载校正  偏量学习<br>
3.输入工具编号   用工具 OK 确认</p>
<ul>
<li>随即打开一个窗口。 所有工具尚未学习的轴都显示出来。 编号最小的轴已被选定</li>
<li></li>
</ul>
<p>4.从窗口中选定轴  并取下此轴上测量筒的防护盖  将 EMD 拧到测量筒上<br>
5.轴（emd) 连接 X32(机器人接线盒)  两端连接成功显示绿色<br>
6.学习<br>
7.使能 启动</p>
<ul>
<li>当 EMD 识别到测量切口的最低点时，则已到达零点标定位置。 机器人自动停止运行。 随即打开一个窗口。 该轴上与首次零点标定的偏差以增量和度的形式显示出来</li>
</ul>
<p>8.用 OK 键确认 该轴在窗口中消失<br>
9.将测量导线从EMD上取下，然后从测量筒上取下EMD  盖上防护盖<br>
10.对所有需要进行零点标定的轴重复3~9<br>
11.将测量导线从X32上取下，点击关闭按钮关闭窗口</p>
<h4>带偏量的负载零点标定检查</h4>
<p>带偏量的负载零点标定在有负载的情况下进行。 计算首次零点标定量。</p>
<ol>
<li>将机器人移到预零点标定位置</li>
<li>在主菜单中选择投入运行 零点标定  EMD 带负载校正 负载零点标定 带偏量</li>
<li>输入工具编号 用工具 OK 确认</li>
<li>取下接口 X32 上的盖子，然后将测量导线接上</li>
<li>从窗口中选定的轴上取下测量筒的防护盖</li>
<li>将 EMD 拧到测量筒上</li>
<li>将测量导线接到 EMD 上。 在此过程中，将插头的红点对准 EMD 内的槽口</li>
<li>按下检查</li>
<li>按住确认开关并按下启动键</li>
<li>需要时，使用 “ 保存 ” 来储存这些数值。 旧的零点标定值因而被删除。 如果要恢复丢失的首次零点标定，必须保存这些数值</li>
<li>将测量导线从 EMD 上取下。 然后从测量筒上取下 EMD，并将防护盖重新装好</li>
<li>对所有待零点标定的轴重复步骤 4 至 10</li>
<li>关闭窗口</li>
<li>将测量导线从接口 X32 上取下</li>
</ol>
<h4>负载</h4>
<p><img src="/static/img/6f295b9b2b216e6175df401df3e6827e.image.png" alt="image.png"></p>
<ul>
<li>1.负荷</li>
<li>2.轴3附加负载</li>
<li>3.轴2附加负载</li>
<li>4.轴1附加负载</li>
</ul>
<p><strong>工具负载数据是指所有装在机器人法兰上的负载</strong>。 它是另外装在机器人上并由机器人一起移动的质量<br>
需要输入的值有<strong>质量、重心位置</strong> （质量受重力作用的点）、<strong>质量转动惯量</strong>以及<strong>所属的主惯性轴</strong></p>
<p>MASS 质量<br>
COG  重心</p>
<p>kuka.loadDataDetermination 负载数据包</p>
<p><strong>操作步骤</strong></p>
<ol>
<li>选择主菜单投入运行  测量  工具  工具负载数据</li>
<li>在工具编号栏中输入工具的编号。 用继续键确认</li>
<li>输入负载数据：<br>
M 栏： 质量，单位：kg<br>
X、Y、Z 栏： 相对于法兰的重心位置， 单位：mm<br>
A、B、C 栏： 主惯性轴相对于法兰的取向，单位：度 (°)<br>
JX、JY、JZ 栏： 惯性矩，单位：kgm²<br>
（JX 是坐标系绕 X 轴的惯性，该坐标系通过 A、B 和 C 相对于法兰转过一定角度。 以此类推，JY 和 JZ 是指绕 Y 轴和 Z 轴的惯性。）</li>
<li>用继续键确认。</li>
<li>按下保存键。</li>
</ol>
<h4>文件备份和还原</h4>
<ul>
<li>USB(kcp) 示教器上的U盘</li>
<li>USB(控制柜) 控制柜上的U盘</li>
</ul>
<p>备份</p>
<ol>
<li>选择菜单序列 文件  存档  USB (KCP) 或者 USB （控制柜）以及所需的选项</li>
<li>点击是确认安全询问,当存档过程结束时，将在信息窗口中显示出来</li>
<li>当 U 盘上的 LED 指示灯熄灭之后，可将其取下</li>
</ol>
<p>还原</p>
<ol>
<li>打开菜单序列 文件  还原 ，然后选择所需的子项</li>
<li>点击是确认安全询问。 已存档的文件在机器人控制系统里重新恢复。 当恢复过程结束时，屏幕出现相关的消息</li>
<li>如果已从 U 盘完成还原： 拔出 U 盘</li>
<li>重新启动机器人控制系统</li>
</ol>
<p>:::info{title=&quot;相关信息&quot;}<br>
如果正从 U 盘执行还原： 只有当 U 盘上的 LED 熄灭之后方可拔出 U 盘。 否则会导致 U 盘受损<br>
:::<br>
主菜单  投入运行  售后服务  长文本  输入/出<br>
长文本导入/出</p>
<h4>更改控制器IP和软件限位</h4>
<p>专家模式   投入运行  网络配置  固定IP<br>
专家模式   投入运行  售后服务  软件限位开关</p>
<p>关机   冷启动  ✔重新读入文件</p>
<p>冷启动：修改后一些配置需要让它马上生效，一般用于调试中</p>
<h4>变量监控</h4>
<p>显示 变量  单个<br>
名称   更新</p>
<p><img src="/static/img/5a9d2d51093ab7f76ca129c4547b157d.image.png" alt="image.png"></p>
<p>休眠：记录上次断电前的状态，一般在生成中使用</p>
<h4>干涉区</h4>
<p><img src="/static/img/53342cc0664cf7736036f2ddee2d1f5a.image.png" alt="image.png"><br>
配置轴坐标工作空间</p>
<ol>
<li>在主菜单中选择配置  其它 （或工具）  工作空间监控  配置。笛卡尔工作空间窗口打开</li>
<li>按轴坐标，以切换至轴坐标工作空间</li>
<li>输入值并按保存键</li>
</ol>
<p><img src="/static/img/fa85d490895ddb13fc481563d48560f1.image.png" alt="image.png"><br>
4. 按信号键。 信号窗口打开</p>
<p><img src="/static/img/964e02a7503d7a624c0159024ebed5da.image.png" alt="image.png"><br>
5. 在轴坐标组中： 在工作空间编号处输入当超出工作空间时应赋值的输出端<br>
6. 按保存键<br>
7. 关闭窗口</p>
<p>配置笛卡尔工作空间</p>
<ol>
<li>在主菜单中选择配置  其它 （或工具）  工作空间监控  配置。笛卡尔工作空间窗口打开</li>
<li>输入值并按保存键</li>
<li>按信号键。 信号窗口打开</li>
<li>在笛卡尔组中： 在工作空间编号处输入当超出工作空间时应赋值的输出端</li>
<li>按保存键</li>
<li>关闭窗口</li>
</ol>
<p><strong>专家模式</strong><br>
最多可设8个</p>
<p><strong>信号</strong>在 笛卡尔式 中配置</p>
<ul>
<li>
<p>inside 仅输出信号 TCP在工作空间内，给定义的输出赋值</p>
</li>
<li>
<p>outside   TCP在工作空间外，给定义的输出赋值</p>
</li>
<li>
<p>inside_stop TCP在工作空间内，给定义的输出赋值并停止</p>
</li>
<li>
<p>outside_stop  TCP在工作空间外，给定义的输出赋值并停止</p>
</li>
</ul>
<h4>更改自动倍率</h4>
<p>（$ov-Pro）<br>
在R1</p>
<p>System 目录下$config.dat 中 user Globals 定义变量<br>
新建 Pro_speed</p>
<p>调用系统变量 $ov-Pro</p>
<pre><code class="language-kuka">在程序中写法 $ov-Pro = Pro_speed
如$ov-Pro = 50
</code></pre>
<p>精确暂停时的系统变量</p>
<p><img src="/static/img/ff04caded058da7a7e07e97ae8ae711d.image.png" alt="image.png"></p>
<p>轨迹逼近时的系统变量</p>
<p><img src="/static/img/cb408b5d5de7f9006954feaa2d99ee78.image.png" alt="image.png"></p>
<h4>碰撞识别编程</h4>
<p>在机器人技术中采用了轴转矩监控，以便识别机器人是否与一个物件发生碰撞</p>
<p>确定允许误差范围并激活碰撞识别</p>
<ol>
<li>在主菜单中选择配置 &gt; 其它 （或工具） &gt; 碰撞识别<br>
<img src="/static/img/8282df8a368381efff569d5399b3d87d.image.png" alt="image.png"></li>
<li>在栏位 KCP 中必须已显示 MonOff。 如果不是这样的话，则按取消激活</li>
<li>启动程序并多次运行。 经过 2 到 3 次程序循环后，机器人控制系统已确定了实际可行的允许误差范围</li>
</ol>
<p><img src="/static/img/f6e5feb6f008936f379177adf26c459d.image.png" alt="image.png"><br>
4. 按激活。 现在，在窗口碰撞识别的栏位 KCP 中必须显示 MonOn<br>
5. 用关闭保存配置</p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/自我提升">自我提升</category>
        </item>
        <item>
            <title><![CDATA[一周学会KUKA之Day6：KUKA应用案例与实践]]></title>
            <link>http://blog.wilsonzy.cn/post/115</link>
            <guid>http://blog.wilsonzy.cn/post/115</guid>
            <pubDate>Sun, 19 Jan 2025 10:05:19 GMT</pubDate>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <!-- more -->
<p>应用案例</p>
<h4>码垛</h4>
<ul>
<li>调用当前位置变量（$pos-act）</li>
</ul>
<table>
<thead>
<tr>
<th style="text-align:center">p1</th>
<th style="text-align:center">p2</th>
<th style="text-align:center">p3</th>
<th style="text-align:center">p4</th>
<th style="text-align:center">p5</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align:center">x560</td>
<td style="text-align:center">x660</td>
<td style="text-align:center">x760</td>
<td style="text-align:center">x860</td>
<td style="text-align:center">x960</td>
</tr>
<tr>
<td style="text-align:center">y-1022</td>
<td style="text-align:center">y-1022</td>
<td style="text-align:center">y-1022</td>
<td style="text-align:center">y-1022</td>
<td style="text-align:center">y-1022</td>
</tr>
<tr>
<td style="text-align:center">z2111</td>
<td style="text-align:center">z2111</td>
<td style="text-align:center">z2111</td>
<td style="text-align:center">z2111</td>
<td style="text-align:center">z2111</td>
</tr>
</tbody>
</table>
<pre><code class="language-kuka">PTP home vel=100% DEFAULT
PTP P1 vel=100% PDAT1 TOOL[0] Base[0]
xp2=$pos-act
xp2.x =xp2.x+100
PTP P2 vel=100% PDAT1 TOOL[0] Base[0]
xp3=$pos-act
xp3.x =xp3.x+100
PTP P3 vel=100% PDAT1 TOOL[0] Base[0]
xp4=$pos-act
xp4.x =xp4.x+100
PTP P4 vel=100% PDAT1 TOOL[0] Base[0]
xp5=$pos-act
xp5.x =xp5.x+100
PTP P5 vel=100% PDAT1 TOOL[0] Base[0]
</code></pre>
<p>使用fold折叠</p>
<pre><code class="language-kuka">PTP home vel=100% DEFAULT
；fold PTP P1 vel=100% PDAT1 TOOL[0] Base[0]
PTP P1 vel=100% PDAT1 TOOL[0] Base[0]
；fold PTP P2 vel=100% PDAT1 TOOL[0] Base[0]
xp2=$pos-act
xp2.x =xp2.x+100
PTP P2 vel=100% PDAT1 TOOL[0] Base[0]
；fold PTP P3 vel=100% PDAT1 TOOL[0] Base[0]
xp3=$pos-act
xp3.x =xp3.x+100
PTP P3 vel=100% PDAT1 TOOL[0] Base[0]
；fold PTP P4 vel=100% PDAT1 TOOL[0] Base[0]
xp4=$pos-act
xp4.x =xp4.x+100
PTP P4 vel=100% PDAT1 TOOL[0] Base[0]
；fold PTP P5 vel=100% PDAT1 TOOL[0] Base[0]
xp5=$pos-act
xp5.x =xp5.x+100
PTP P5 vel=100% PDAT1 TOOL[0] Base[0]
；endfold   
</code></pre>
<h4>信息提示</h4>
<ul>
<li>#quit :信息提示确认发出</li>
<li>#start: 信息作状态信息</li>
<li>#notify: 信息作提示信息</li>
<li>#waiting: 信息作等待信息</li>
</ul>
<table>
<thead>
<tr>
<th><strong>函数</strong></th>
<th><strong>说明</strong></th>
</tr>
</thead>
<tbody>
<tr>
<td>Set_KrlMsg(a,b,c,d)</td>
<td>设置信息</td>
</tr>
<tr>
<td>Set_KrlDLg(a,b,c,d)</td>
<td>设置对话</td>
</tr>
<tr>
<td>Exists_KrlMsg(a)</td>
<td>检查信息</td>
</tr>
<tr>
<td>Exists_KrlDlg(a,b)</td>
<td>检查对话</td>
</tr>
<tr>
<td>Clear_KrlMsg(a)</td>
<td>删除信息</td>
</tr>
<tr>
<td>Get_MsgBuffer(a)</td>
<td>读取信息缓存器</td>
</tr>
</tbody>
</table>
<pre><code class="language-kuka">定义变量
Decl krlmsg_t mess  #定义
Decl krlmsgpar_t para[3] #参数传递
Decl krlmsgopt_t option   #信息选项
int handle   #生成消息

程序使用
mess = {modul[]&quot;kuka&quot;,.Nr001,msg_txt[]&quot;it is a&quot;}  #作者，编号，提示内容  
handle= set_krlmsg(#notify,mess,para[],option)  
其中#notify表示要生成提示信息
如果要生成其他类型信息， #quit :确认信息；#state ：状态信息；#waiting ：等待信息

option={vl_stop true, clear_p_reset true, clear_p_saw true, log_to_db false}
vl_stop: 生成信息时，是否打断预进指针，true为打断
clear_p_reset：生成信息后，进行程序复位或退出程序操作，这条信息是否删除， true 为删除
clear_p_saw ：生成信息后，进行语句行选择操作后，这条信息是否删除， true 为删除
log_to_db：是否将信息记录到数据库中，true 为记录

para[1]={par_type#value}
para[1].par_int=counter
其中parameter[1]表示%1；#value:表示%1使用了；int和counter：表示%1从一个叫做counter的整型变量获得数值
对于第二个占位符%2和第三个占位符%3，例子未使用，所以
para[2]={par_type #empty}
para[3]={par_type #empty}
其中para[2]和para[3]分别表示%2和%3；#empty:表示未使用。因为这两个占位符没有使用，所以也不需要规定他们从哪里获得数值
</code></pre>
<h5>notify: 信息作提示信息</h5>
<p><img src="/static/img/c1ae5a058dd8d5af87a471d6407befc8.image.png" alt="image.png"></p>
<pre><code class="language-kuka">定义变量
DEF msg_notify（）

Decl krlmsg_t mess  #定义
Decl krlmsgpar_t para[3] #参数传递
Decl krlmsgopt_t option   #信息选项
int notify_address   #生成消息

程序使用
mess = {modul[]&quot;kuka&quot;,Nr 001,msg_txt[]&quot;We start to run&quot;}  #作者，编号，提示内容

para[1]={par_type #empty}
para[2]={par_type #empty}
para[3]={par_type #empty}

option ={vl_stop false,clear_p_reset false,clear_p_saw false,log_to_db false}

notify_address= set_krlmsg(#notify,mess,para[],option)
halt

END
</code></pre>
<p><img src="/static/img/3fb7a4d50378513f91d44ee6f14a2f5b.image.png" alt="image.png"></p>
<pre><code class="language-kuka">定义变量
DEF msg_notify_var()

Decl krlmsg_t mess  #定义
Decl krlmsgpar_t para[3] #参数传递
Decl krlmsgopt_t option   #信息选项
int notify_address,num   #生成消息

num=7

程序使用
mess = {modul[]&quot;kuka&quot;,Nr 1357,msg_txt[]&quot;We start to move No %1 workpiece&quot;}  #作者，编号，提示内容

para[1]={par_type #value}
para[1].par_int=num
para[2]={par_type #empty}
para[3]={par_type #empty}

option ={vl_stop false,clear_p_reset false,clear_p_saw false,log_to_db false}

notify_address= set_krlmsg(#notify,mess,para[],option)
halt

END
</code></pre>
<h5>quit :信息提示确认发出</h5>
<p><img src="/static/img/2fc0c84272da942f65bb156478d820fa.image.png" alt="image.png"></p>
<pre><code class="language-kuka">定义变量
DEF msg_quit()

Decl krlmsg_t mess  #定义
Decl krlmsgpar_t para[3] #参数传递
Decl krlmsgopt_t option   #信息选项
int quit_address,num1,num2   #生成消息
bool check
num1=2
num2=5

程序使用
mess = {modul[]&quot;kuka&quot;,Nr 1358,msg_txt[]&quot;Part %1 and %2 stop,please confirm.&quot;}  #作者，编号，提示内容

para[1]={par_type #value}
para[1].par_int=num1
para[2]={par_type #value}
para[2].par_int=num2
para[3]={par_type #empty}

option ={vl_stop true,clear_p_reset true,clear_p_saw false,log_to_db false}

quit_address= set_krlmsg(#quit,mess,para[],option)

loop
	cheack=exists_krlmsg(quit_address)  #检查消息是否还在
	if not check then  #不在了
	  exit
	endif
endloop

halt

END
</code></pre>
<h5>start: 信息作状态信息</h5>
<p><img src="/static/img/559b6d001ddd6e89d958f49e7dc67fcf.image.png" alt="image.png"></p>
<pre><code class="language-kuka">定义变量
DEF msg_start()

Decl krlmsg_t mess  #定义
Decl krlmsgpar_t para[3] #参数传递
Decl krlmsgopt_t option   #信息选项
int start_address   #生成消息

bool clear

程序使用
mess = {modul[]&quot;kuka&quot;,Nr 1360,msg_txt[]&quot;Program is running.&quot;}  #作者，编号，提示内容

para[1]={par_type #empty}
para[2]={par_type #empty}
para[3]={par_type #empty}

option ={vl_stop false,clear_p_reset true,clear_p_saw false,log_to_db false}

start_address= set_krlmsg(#state,mess,para[],option)
halt
clear=clear_krlmsg(start_address)
halt
END
</code></pre>
<h5>waiting: 信息作等待信息</h5>
<p><img src="/static/img/248d357c0ddb1391fa99cf12459ef262.image.png" alt="image.png"></p>
<pre><code class="language-kuka">定义变量
DEF msg_waiting()

Decl krlmsg_t mess  #定义
Decl krlmsgpar_t para[3] #参数传递
Decl krlmsgopt_t option   #信息选项
int waiting_address,a   #生成消息

bool clear
a=12

程序使用
mess = {modul[]&quot;kuka&quot;,Nr 1361,msg_txt[]&quot;Waiting for input signal %1.&quot;}  #作者，编号，提示内容

para[1]={par_type #value}
para[1].par_int=a
para[2]={par_type #empty}
para[3]={par_type #empty}

option ={vl_stop false,clear_p_reset true,clear_p_saw false,log_to_db false}

waiting_address= set_krlmsg(#waiting,mess,para[],option)
halt
loop
	if $in[12]==true then
		clear=clear_krlmsg(waiting_address)
		exit
	else
		if not exists_krlmsg(waiting_address)then
		  exit
		endif
	endif
endloop
halt
END
</code></pre>
<h5>sk  按键</h5>
<p><img src="/static/img/fb38c9b5fd2b115301d7c2117dc82b4d.image.png" alt="image.png"></p>
<pre><code class="language-kuka">
定义变量
DEF dlg()

Decl krlmsg_t mess  #定义
Decl krlmsgpar_t para[3] #参数传递
Decl krlmsgopt_t option   #信息选项
Decl krlmsgdlgsk_t sk[7]  #7个按键
int dlg_address,answer   #生成消息

bool check
loop
answer=0

程序使用
mess = {modul[]&quot;kuka&quot;,Nr 1367,msg_txt[]&quot;Program finished,continue?&quot;}  #作者，编号，提示内容

para[1]={par_type #empty}
para[2]={par_type #empty}
para[3]={par_type #empty}

option ={vl_stop false,clear_p_reset false,clear_p_saw false,log_to_db false}

sk[1]={sk_type #value,sk_txt[]&quot;continue&quot;}
sk[2]={sk_type #empty}
sk[3]={sk_type #value,sk_txt[]&quot;end&quot;}
sk[4]={sk_type #empty}
sk[5]={sk_type #empty}
sk[6]={sk_type #empty}
sk[7]={sk_type #empty}

dlg_address= set_krldlg(mess,para[],sk[],option)

    loop
		check=exists_krldlg(dlg_address,answer)
		if not cheack then
                    exit
		endif
    endloop

if answer ==3 then
	exit
endif

endloop
END
</code></pre>
<h4>数组练习</h4>
<p>定义一个一维数组，数组内有12个元素<br>
数组内的值全部初始化为字符”+“<br>
程序启动后<br>
1秒后将第一个数组元素变成字符”-“<br>
再过1秒后第二个元素变成字符”-“<br>
以此类推，直到最后一个元素变成”-“</p>
<pre><code class="language-kuka"># dat文件里声明字段
decl char name[12]

# src 文件
DEF array()

int i

;name[]=&quot;++++++++++++&quot;

for i =1 to 12
	name[i]=&quot;+&quot;
endfor

for i =1 to 12
	wait sec 1
	name[i]=&quot;-&quot;
endfor

END
</code></pre>
<h4>结构体练习</h4>
<p>定义一个结构体用于描述一个箱子 需要表示出这个箱子的长宽高、内装瓶子数量以及箱子的颜色<br>
箱子长度55.9 、宽度40.8 高度38.3 初始内装瓶子数3个，颜色为白色<br>
5秒后，再装进3个瓶子<br>
再经过5s 箱子颜色被喷为红色<br>
要求箱子的状态变化在程序运行中可以实时更新</p>
<p>在R1 System 目录下$config.dat 中 user Globals 定义变量</p>
<pre><code class="language-kuka">struc box real length,width,height,int bottle,char color[10] #构建结构体
decl box kiste  #箱子名称
</code></pre>
<pre><code class="language-kuka">DEF struc_example()
kiste={length 55.9,width 40.8,height 38.3,bottle 3,color[]&quot;white&quot;}
wait sec 5
kiste.bottle=kiste.bottle+3
wait sec 5
kiste.color[]=&quot;red&quot;
END
</code></pre>
<h4>枚举练习</h4>
<p>把上面结构体练习中的箱子颜色由字符数组改为枚举<br>
箱子可以选择的颜色为白色，红色，黑色，蓝色<br>
其他的要求和上面的一样<br>
在R1 System 目录下$config.dat 中 user Globals 定义变量</p>
<pre><code class="language-kuka">enum color white,red,black,blue #构建枚举
decl box kiste  #箱子名称
</code></pre>
<pre><code class="language-kuka">DEF struc_example()
kiste={length 55.9,width 40.8,height 38.3,bottle 3,box_color #white}
wait sec 5
kiste.bottle=kiste.bottle+3
wait sec 5
kiste.box_color=#red
END
</code></pre>
<h4>函数练习</h4>
<p>编写一个函数，函数要实现：两个数相除，求其余数<br>
即取余数算法，只考虑两个数都是正整数的情况</p>
<pre><code class="language-kuka"># 新建Function函数功能块
deffct int func_example(a:in,b:in)
	while a&gt;=b
		a=a-b
	endwhile
return a
endfct
</code></pre>
<h4>运动编程</h4>
<pre><code class="language-kuka">DEF test()
INI
SPTP HOME vel=100% DEFAULT TOOL [1] Base[0]
SPTP P1 vel=100% PDAT1 TOOL [1] Base[0]
SPTP P2 vel=100% PDAT1 TOOL [1] Base[0]
SPTP P3 vel=100% PDAT1 TOOL [1] Base[0]
SPTP HOME vel=100% DEFAULT TOOL [1] Base[0]
END
</code></pre>
<pre><code class="language-kuka">DEF test()
INI
SPTP HOME vel=100% DEFAULT TOOL [1] Base[0]
SPTP XP1 WITH $TOOL=TOOL_DATA[1],$BASE=BASE_DATA[2],$LDAD=LDAD_DATA[1]
SPTP XP2
SPTP XP3 WITH $APO.CDIS=300 C_SPL
SPTP HOME vel=100% DEFAULT TOOL [1] Base[0]
END
</code></pre>
<h4>码垛</h4>
<p>5*5    每个格子横竖之间的间距为100mm，只有左上角第一个格子位置允许示教<br>
横为j   竖为i</p>
<pre><code class="language-kuka">DEF motion_example()
decl e6pos tuopan[5,5] 
IIN

SPTP HOME vel=100% DEFAULT TOOL [1] Base[0]
SPTP P1 vel=100% PDAT1 TOOL [1] Base[0]

for i =1 to 5
 for j =1 to 5
  tuopan[i,j]=xp1
  tuopan[i,j].x=xp1.x+100*(j-1)
  tuopan[i,j].y=xp1.y+100*(x-1)
 endfor
endfor

for i =1 to 5
 for j =1 to 5
  slin tuopan[i,j] with
 endfor
endfor
SPTP HOME vel=100% DEFAULT TOOL [1] Base[0]

END
</code></pre>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/自我提升">自我提升</category>
        </item>
        <item>
            <title><![CDATA[一周学会KUKA之Day6：KUKA高级编程技术]]></title>
            <link>http://blog.wilsonzy.cn/post/114</link>
            <guid>http://blog.wilsonzy.cn/post/114</guid>
            <pubDate>Mon, 13 Jan 2025 12:39:14 GMT</pubDate>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <!-- more -->
<h4>绝对运动编程</h4>
<p>借助于绝对值运动至目标位置。在此轴 A3 定位于 45°</p>
<pre><code class="language-kuka">PTP {A3 45}
</code></pre>
<p><img src="/static/img/64b56bfd92cc4879aadb576302390a04.image.png" alt="image.png"></p>
<h4>相对运动编程</h4>
<ul>
<li>从目前的位置继续移动给定的值，运动至目标位置。在此轴 A3 继续转过45°</li>
</ul>
<pre><code class="language-kuka">PTP_REL {A3 45}
</code></pre>
<p><img src="/static/img/4be9fff773bcd0b08acc69b8b8959c54.image.png" alt="image.png"></p>
<p><strong>PTP_REL</strong></p>
<p>如轴2沿负方向移动30°，其他轴不变</p>
<pre><code class="language-kuka">PTP_REL(A2 -30)
</code></pre>
<p>机器人从当前位置沿 X 轴方向移动 100 mm，沿 Z 轴负方向移动 200mm。Y、A、B、C 和 S 保持不变</p>
<pre><code class="language-kuka">PTP_REL(X100,Z-200)
</code></pre>
<p><strong>LIN_REL</strong></p>
<p>TCP 从当前位置沿基坐标系中的 X 轴方向移动 100 mm，沿 Z 轴负方向移动 200 mm。Y、A、B、C 和 S 保持不变</p>
<pre><code class="language-kuka">LIN_REL(X100,Z-200)
</code></pre>
<p>TCP 从当前位置沿工具坐标系中的 X 轴负方向移动 100 mm。Y、Z、A、B、C 和 S 保持不变</p>
<pre><code class="language-kuka">LIN_REL(X -100)#TOOL    #需要在后面加上工具坐标系  
</code></pre>
<p>往基坐标系3的X正方向再走200mm，执行后坐标位置为400，100，100，0，0，0</p>
<pre><code class="language-kuka">slin_rel {x 200}with $base=base_data[3]  
</code></pre>
<p>当前TCP在原地绕世界坐标系Z方向旋转180°</p>
<pre><code class="language-kuka">slin_rel {a 180}with $base=$nullframe  
</code></pre>
<p><strong>CLRC_REL</strong></p>
<p>圆周运动的目标点通过 500° 的圆心角加以规定。目标点被轨迹逼近</p>
<pre><code class="language-kuka">CLRC_REL(X100,Y30,Z-20),(Y50),CA 500 C_VEL  
</code></pre>
<pre><code class="language-kuka">$POS_ACT：当前的机器人位置
$AXIS_ACT：基于轴坐标的当前机器人位置 （额定值）
</code></pre>
<h4>数组</h4>
<ul>
<li>相同类型的变量，按顺序排列在一起</li>
</ul>
<p>一维数组</p>
<pre><code class="language-kuka">DEF bool error[10] #通过调用索引单独对每个数组进行声明和初始化
error[1]=false
error[2]=false
error[3]=false
error[4]=false
error[5]=false
error[6]=false
error[7]=false
error[8]=false
error[9]=false
error[10]=false
END
</code></pre>
<pre><code class="language-kuka">DEF bool error[10] #以合适的循环
Decl int x 
for x = 1 to 10
error[x]=false
endfor
END
</code></pre>
<p>二维数组</p>
<pre><code class="language-kuka">DEF array_test2()
Decl bool status[4,3]
int i,j
for i =1 to 4
	for j =1 to 3
	status [i,j]=false
	endfor
endfor	
halt
	status [1,1]=true
	status [3,2]=true
	halt
END
</code></pre>
<p>三维数组就用3个for循环</p>
<pre><code class="language-kuka">DECL INT parts_palette[5,4,3]
DECL INT x, y, z
FOR x = 1 TO 5
 FOR y = 1 TO 4
 FOR z = 1 TO 3
 parts_palette[x, y, z]= 12
 ENDFOR
 ENDFOR
ENDFOR
</code></pre>
<h4>函数</h4>
<ul>
<li>一种向主程序返回数值的子程序</li>
</ul>
<p>y=f（x）   只能作运算使用，不能作动作运动</p>
<pre><code class="language-kuka">DEF func()
real x,y
x=3
y=0
halt
y=sub_function()     #运行后y返回值4
halt
END
_____________________
deffct real sub_function()
int a
a=1+3
return a
endfct
</code></pre>
<pre><code class="language-kuka">
DEF func()
x=0.5
y=abs(x)  #绝对值
halt
y=SQRT(x)  #平方根
halt
y=fin(x)   #正弦
halt
y=cos(x)  #余弦
halt
y=tan(x) #正切
halt
y=acos(x) #反余弦
halt
y=atan2(0.5.0.5)  #反正切
halt
END
</code></pre>
<pre><code class="language-kuka">DEF func()
bool symbol
int h
a[ ] = &quot;abcd&quot;
b[ ] = &quot;efg&quot;
y=StrDeclLen(a[ ]) #字符串容量
y=StrLen(a[ ]) #字符串个数
symbol=StrClear(a[ ]) #清除字符串内容
a[ ] = &quot;jk&quot;
h=StrAdd(a[ ] ,b[ ]) #扩展字符串
symbol= StrComp(a[ ] ,b[ ] ,#case-sens) #比较字符串
symbol=StrCopy(a[ ] ,b[ ]) #复制字符串
END 
</code></pre>
<h4>枚举</h4>
<p><img src="/static/img/059950d5b8cecaefbde6cbc012855f80.image.png" alt="image.png"></p>
<ul>
<li>一个被命名的整型常数的集合   （n选1）</li>
</ul>
<p>在$config.dat中定义</p>
<pre><code class="language-kuka">如：描述PC电脑的颜色
enum pc_color red,white,black,silver,yellow  #枚举变量和常量的定义
Decl pc_color mycolor     #声明枚举变量
mycolor = #red      #变量的初始化（必带有#号）
</code></pre>
<h4>子程序参数传递</h4>
<p>只进不出 又进又出</p>
<pre><code class="language-kuka">DEF main()
INI
a=5
b=3
PTP home    #运行到这一步时 a=5 b=3
sub_program(a,b)
PTP home     #运行到这一步时 a=5 b=8
END

DEF sub_program(x:in,y:out)   #a传给x b传给y
int x,y
.........
.........
y=x+y
END
</code></pre>
<ul>
<li>不同数据类型传递   #强制转换</li>
<li>数组单个元素传递</li>
</ul>
<pre><code class="language-kuka">sub(num[3])
.........
.........
END

DEF sub(x:in)   #num[3]传给x 
int x
.........
.........
END
</code></pre>
<ul>
<li>数组整体传递</li>
</ul>
<pre><code class="language-kuka">sub(num[ ])
.........
.........
END
DEF sub(x[ ]:out)   #a传给x b传给y
int x[ ]
.........
.........
END
</code></pre>
<ul>
<li>临时局部变量不允许传递<br>
int f</li>
</ul>
<h4>结构体</h4>
<ul>
<li>一堆变量放在一起</li>
</ul>
<p><img src="/static/img/60cf607a62474cdcce4c6eefe17989e1.image.png" alt="image.png"></p>
<p>在$config.dat中定义</p>
<pre><code class="language-kuka">struc car_type real price,int date,bool cut,char name[16]  #构建结构体
Decl car_type my_car  #声明结构体变量
</code></pre>
<pre><code class="language-kuka">DEF struc_car()
INI
my_car={price 11.8.date 17,aut true,name[]&quot;k3&quot;}  #变量的初始化

my_car.price=12  #变量值的更改
my_car.date=17
my_car.aut=true
my_car.name[]=&quot;k5&quot;
END
</code></pre>
<h4>中断</h4>
<ul>
<li>立即去做某个事情</li>
<li>出现中断信号时，机器人暂时停止执行当前程序，转而执行编写的中断程序，执行完毕后，再返回原程序继续执行</li>
</ul>
<ol>
<li>不允许有联机表单类运动指令</li>
<li>不允许有INI</li>
<li>不允许有$advance</li>
<li>不允许有sptp</li>
</ol>
<p>最多可开启16个中断</p>
<h5><strong>优先级</strong></h5>
<ul>
<li>1的优先级最高</li>
<li>3留给急停使用</li>
<li>19刹车测试</li>
<li>40~80系统自用</li>
</ul>
<p>用户能使用的是1，2，4 ~ 18，20 ~ 39，81~128</p>
<pre><code class="language-kuka">在$config.dat中定义
decl int a   #停止
decl int b   #启动
</code></pre>
<pre><code class="language-kuka">DEF T111()
INI
interrupt decl 1 when a==1 do error()
interrupt on 1 #打开中断
PTP p1
......
......
PTP p2
interrupt off 1 #关闭中断
END

DEF error()    #中断子程序
ptp $pos_int
halt  #暂停机器人    将该行改为 wait for b==1   则b=1时启动
END

DEF act()
if $aut then
wait sec 6
a=1
b=0
wait sec 6
a=0 
b=1
else
a=0 
b=0
endif
END
</code></pre>
<p>在机器人运动的同时进行逻辑处理</p>
<pre><code class="language-kuka">DEF MY_PROG( )
INI
INTERRUPT DECL 25 WHEN $IN[99]==TRUE DO ERROR( )
INTERRUPT ON 25
PTP HOME Vel=100% DEFAULT
PTP P1 Vel=100% PDAT1 
PTP P2 Vel=100% PDAT2 
PTP HOME Vel=100% DEFAULT
INTERRUPT OFF 25
END
_________________________________________________
DEF ERROR() 
$OUT[20]=FALSE
$OUT[21]=TRUE
END
</code></pre>
<h5>屏蔽中断</h5>
<pre><code class="language-kuka">DEF main()
INI

interrupt decl 6 when $in[9]==true do calc()
interrupt on 6 #打开中断
...
interrupt disable 6 #屏蔽中断开启
.......
.......
interrupt enable 6 #屏蔽中断关闭
...
interrupt off 6 #关闭中断
...
...
END
</code></pre>
<h5>多个中断应用</h5>
<pre><code class="language-kuka">DEF main()
INI
interrupt decl 20 ...
interrupt decl 21 ...
interrupt decl 22 ...
...
...   #21   执行21中断程序
...
END

DEF interrupt21()
INI
...
...  #20  执行20中断程序
...
END

DEF interrupt20()
INI
...
...#22 执行22中断程序
...
END  #执行完后 返回20中断程序

DEF interrupt22()
INI
...
...
...
END  #执行完后 返回21中断程序
</code></pre>
<h5>中断  单个条件</h5>
<pre><code class="language-kuka">DEF main()
INI
interrupt decl 6 when $in[9]==true ...
interrupt decl 7 when number==6 ...
...
...
END
</code></pre>
<h5>中断  复合条件</h5>
<pre><code class="language-kuka">DEF main()
INI
$cycflag[1]=($in[9]==true) and ($out[1]==false)
interrupt decl 9 when $cycflag[1]==true ...
...
...
END
</code></pre>
<h4>跳出中断</h4>
<h5>break</h5>
<pre><code class="language-kuka">DEF main()   #主程序
INI
interrupt decl 6 when $IN[6]==true do motion #6 为优先级 $IN[6]==true 条件 motion 做什么
interrupt on 6   #中断打开
..........
..........
..........
interrupt off 6  #中断关闭

END

DEF motion()  #子程序
break    #跳出中断
..........
..........
ptp $int_ret
END
</code></pre>
<p>停下机器人后进行逻辑处理，然后继续机器人运动</p>
<pre><code class="language-kuka">DEF MY_PROG( )
INI
INTERRUPT DECL 25 WHEN $IN[99]==TRUE DO ERROR( )
INTERRUPT ON 25
PTP HOME Vel=100% DEFAULT
PTP P1 Vel=100% PDAT1 
PTP P2 Vel=100% PDAT2 
PTP HOME Vel=100% DEFAULT
INTERRUPT OFF 25
END
_________________________________________________
DEF ERROR() 
BRAKE
$OUT[20]=FALSE
$OUT[21]=TRUE
END
</code></pre>
<h5>resume</h5>
<pre><code class="language-kuka">DEF main()   #主程序
INI
interrupt decl 7 when $IN[8]==true do motion
sperch() #子程序
sptp xhome
END

DEF sperch() #子程序
interrupt on 7   #中断打开
..........
..........
..........
interrupt off 7  #中断关闭
Wait sec 0   
END

DEF motion() #子程序
break
..........
..........
resume
END
</code></pre>
<p>停止当前的机器人运动，返回定位，废弃当前的轨迹规划，运行一条新的轨迹</p>
<pre><code class="language-kuka">DEF MY_PROG( )
INI
INTERRUPT DECL 25 WHEN $IN[99]==TRUE DO ERROR( )
SEARCH()
END
_________________________________________________
DEF SEARCH()
INTERRUPT ON 25
PTP HOME Vel=100% DEFAULT
PTP P1 Vel=100% PDAT1 
PTP P2 Vel=100% PDAT2 
PTP HOME Vel=100% DEFAULT
WAIT SEC 0 ; 止住预进指针
INTERRUPT OFF 25
END
_________________________________________________
DEF ERROR() 
BRAKE
PTP $POS_INT
RESUME
END
</code></pre>
<h4>用 KRL 进行运动编程</h4>
<p>运动参数的系统变量</p>
<pre><code class="language-kuka">$TOOL = tool_data[x] ; x = 1...16 #激活所测量的 TCP
$LOAD = load_data[x] ; x = 1...16 #激活所属的负载数据
$BASE = base_data[x] ; x = 1...16 #激活所测量的基坐标

机器人TCP:
$IPO_MODE = #BASE  #机器人引导型工具
$IPO_MODE = #TCP   #外部TCP

速度：
$VEL_AXIS[x] ; x=1...6  # 针对每根轴
$VEL.CP = 2.0 ;         # [m/s] 轨迹速度
$VEL.ORI1 = 150 ;       # [°/s] 回转速度

加速:
$ACC_AXIS[x] ; x=1...6  # 针对每个轴
$ACC.CP = 2.0 ;         # [m/s] 轨迹加速度
$ACC.ORI1 = 150 ;       # [°/s] 回转加速度
$ACC.ORI2 = 200 ;       # [°/s] 转动加速度

圆滑过渡距离:
仅限进行 PTP 运动时：C_PTP
PTP XP3 C_PTP
$APO_CPTP = 50 ; C_PTP 的轨迹逼近大小，单位 [%]

进行轨迹运动 LIN、CIRC 和 PTP 时：C_DIS
- 与目标点的距离必须低于 $APO.CDIS 的值
PTP XP3 C_DIS
LIN XP4 C_DIS
$APO.CDIS = 250.0 ; [mm] 距离

进行轨迹运动 LIN、CIRC 时：C_ORI
- 主导姿态角必须低于 $APO.CORI 的值 
LIN XP4 C_ORI
$APO.CORI = 50.0 ; [°] 角度

进行轨迹运动 LIN、CIRC 时：C_VEL
- 在驶向目标点的减速阶段中速度必须低于 $APO.CVEL 的值 
LIN XP4 C_VEL
$APO.CVEL = 75.0 ; [%] 百分数

姿态引导：
进行 LIN 和 CIRC 时：$ORI_TPYE
$ORI_TYPE = #CONSTANT

稳定的方向导引
$ORI_TYPE = #VAR

标准或手动 PTP
$ORI_TYPE = #JOINT

$CIRC_TYPE = #PATH

恒定姿态
$CIRC_TYPE = #BASE
</code></pre>
<p>SPTP</p>
<pre><code class="language-kuka">sptp xp1 with $tool=tool_data[3],$base=base_data[2],$load=load_data[3],
$ipo_mode=#base或者#tcp,$vel_axis[1~6]=0~100,$acc_axis[1~6]=0~100,
$gear_jerk[1-6]=0-100，$apo.cdis=0~1000 c_spl
</code></pre>
<p>SLIN</p>
<pre><code class="language-kuka">slin xp2 with $tool=tool_data[3],$base=base_data[2],$load=load_data[2],$ipo_mode=#base或者#tcp,
$vel.cp=0~2.0,$acc.cp= ,$jerk.cp=
$ori_type=#var或#constant或#joint,
$apo.cdis=0~300 c_spl
</code></pre>
<p>SCIRC</p>
<pre><code class="language-kuka">scirc xp3,xp4,ca180 with $tool=tool_data[3],$base=base_data[2],$load=load_data[2],$ipo_mode=#base或者#tcp,
$vel.cp=0~2.0,$acc.cp= ,$jerk.cp=
$ori_type=#var或#constant或#joint,     $circ_type=#base或#path

$circ_mode.aux_pt.ori=#consider或#ignore或#interpolate,
$circ_mode.target_pt.ori=#interpolate或#extrapolate,
$apo.cdis=0~300 c_spl
</code></pre>
<p>点的数据类型</p>
<ul>
<li>struc axis real a1,a2,a3,a4,a5,a6</li>
<li>struc e6axis real a1,a2,a3,a4,a5,a6,e1,e2,e3,e4,e5,e6</li>
<li>struc frame real x,y,z,a,b,c</li>
<li>struc pos real x,y,z,a,b,c,  int s,t</li>
<li>struc e6pos real x,y,z,a,b,c,e1,e2,e3,e4,e5,e6,  int s,t</li>
</ul>
<p>:::info{title=&quot;相关信息&quot;}<br>
TCP 位置 (X, Y, Z) 和姿态 (A, B, C) 的数值不足于明确规定机器人的位置，因为虽然 TCP 相同，但轴的位置仍可能有多个。状态和转角方向用于从多个可能的轴位中确定一个唯一的位置,状态 (S) 和转角方向 (T) 是数据类型 POS 和 E6POS 的组成部分<br>
:::</p>
<h4>引用原有联机表单的点</h4>
<pre><code class="language-kuka">SPTP P1 CONT Vel=100% PDAT1 TOOL[1] Base[2]
sptp xp1 with $tool=tool_data[1],$load=load_data[1],$base=base_data[2],apo.cdis=500 c_spl

SLIN P2 CONT VeL=0.4m/s CPDAT1 TOOL[1] Base[2]
slin xp2 with $vel.cp=0.4,$apo.cdis=300 c_spl

SCIRC P3 P4 Vel=0.4m/s CPDAT2 ANGLE=360° TOOL[1] Base[2]
scirc xp3,xp4,ca 360
</code></pre>
<pre><code class="language-kuka">DEF motion_example1() 
decl pos point2
INI

point2={x 100,y 200,z 150,a 0,b 0,c 0}
SPTP HOME vel=100% DEFAULT TOOL [1] Base[0]
SPTP P1 vel=100% PDAT1 TOOL [1] Base[0]
SPTP P2 vel=100% PDAT1 TOOL [1] Base[0]
SPTP P3 vel=100% PDAT1 TOOL [1] Base[0]
sptp xp1
slin point2
SPTP HOME vel=100% DEFAULT TOOL [1] Base[0]
END
</code></pre>
<pre><code class="language-kuka">DEF motion_example2() 
decl axis point1
decl pos point2
INI
point1={a1 0,a2 -90,a3 90,a4 0,a5 0,a6 0}
point2={x 100,y 200,z 150,a 0,b 0,c 0}
SPTP HOME vel=100% DEFAULT TOOL [1] Base[0]
SPTP P1 vel=100% PDAT1 TOOL [1] Base[0]
sptp point1
SPTP P2 vel=100% PDAT1 TOOL [1] Base[0]
SPTP P3 vel=100% PDAT1 TOOL [1] Base[0]
sptp xp1
slin point2 with
SPTP HOME vel=100% DEFAULT TOOL [1] Base[0]
END
</code></pre>
<pre><code class="language-kuka">DEF motion_example3() 
decl axis point1
decl pos point2
decl pos point3
int a
INI
point1={a1 0,a2 -90}
point2={x 100,y 200,z 150,a 0,b 0,c 0}
point3.x=a
SPTP HOME vel=100% DEFAULT TOOL [1] Base[0]
SPTP P1 vel=100% PDAT1 TOOL [1] Base[0]
sptp point1
sptp point3
SPTP P2 vel=100% PDAT1 TOOL [1] Base[0]
SPTP P3 vel=100% PDAT1 TOOL [1] Base[0]
sptp xp1
slin point2 with
SPTP HOME vel=100% DEFAULT TOOL [1] Base[0]
END
</code></pre>
<h4>使用点坐标</h4>
<ul>
<li>sptp{a1 0,a2 -90,a3 90,a4 0,a5 0,a6 0}#仅限sptp或ptp</li>
<li>sptp{x 100,y 200,z 300,a 90,b 0,c 0}</li>
<li>slin{x 200,y 100,z 100,a 0,b 0,c 0}</li>
<li>scirc{x 200,y 100,z 100,a 0,b 0,c 0},{x 150,y 50,z 100,a 0,b 0,c 0},ca 180</li>
</ul>
<h4>模拟输入端编程</h4>
<p><img src="/static/img/9bf3ecc61d83abf1589d2a1ca6fde548.image.png" alt="image.png"></p>
<ul>
<li>KR C4 具有 32 个模拟输入端</li>
<li>为这些模拟信号需要配备可作为选项提供的总线系统，并须通过 WorkVisual 进行设计</li>
<li>模拟输入端通过系统变量 $ANIN[1] ... $ANIN[32] 读出</li>
<li>（每隔 12 ms 一次）循环读取一个模拟输入端</li>
<li>$ANIN[ ] 的值在 1.0 和 -1.0 之间变化，表示 +10V 至 -10V 的输入电压</li>
</ul>
<pre><code class="language-kuka">...
REAL value
value = $ANIN[2]
DEFDAT myprog
DECL REAL value = 0
DECL REAL corr = 0.25
DECL REAL offset = 0.45
ENDDAT
</code></pre>
<h4>模拟输出端编程</h4>
<ul>
<li>KR C4 具有 32 个模拟输出端</li>
<li>为这些模拟信号需要配备可作为选项提供的总线系统，并须通过WorkVisual 进行设计</li>
<li>模拟输出端通过系统变量<span class="katex"><span class="katex-mathml"><math><semantics><mrow><mi>A</mi><mi>N</mi><mi>O</mi><mi>U</mi><mi>T</mi><mo>[</mo><mn>1</mn><mo>]</mo><mi mathvariant="normal">.</mi><mi mathvariant="normal">.</mi><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">ANOUT[1]...</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="strut" style="height:0.75em;"></span><span class="strut bottom" style="height:1em;vertical-align:-0.25em;"></span><span class="base textstyle uncramped"><span class="mord mathit">A</span><span class="mord mathit" style="margin-right:0.10903em;">N</span><span class="mord mathit" style="margin-right:0.02778em;">O</span><span class="mord mathit" style="margin-right:0.10903em;">U</span><span class="mord mathit" style="margin-right:0.13889em;">T</span><span class="mopen">[</span><span class="mord mathrm">1</span><span class="mclose">]</span><span class="mord mathrm">.</span><span class="mord mathrm">.</span><span class="mord mathrm">.</span></span></span></span>ANOUT[32] 读出</li>
<li>（每隔 12 ms 一次）循环写入一个模拟输出端。</li>
<li>$ANOUT[  ] 的值在 1.0 和 -1.0 之间变化，表示 +10V 至 -10V 的输出电压</li>
</ul>
<pre><code class="language-kuka">ANOUT[2] = 0.7 ; 在模拟输出端 2 上加上 7V 电压
REAL value
value = -0.8
ANOUT[4] = value ; 在模拟输出端 4 上加上 -8V 电压
</code></pre>
<p><img src="/static/img/8b185e9f7731d730060b20a03ccbb18b.image.png" alt="image.png"></p>
<ol>
<li>模拟输出端编号</li>
<li>电压系数 0 … 1 （最小刻度： 0.01)</li>
</ol>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/自我提升">自我提升</category>
        </item>
        <item>
            <title><![CDATA[一周学会KUKA之Day5：KUKA与外部PLC设备通讯]]></title>
            <link>http://blog.wilsonzy.cn/post/113</link>
            <guid>http://blog.wilsonzy.cn/post/113</guid>
            <pubDate>Mon, 13 Jan 2025 13:24:26 GMT</pubDate>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <!-- more -->
<h4>外部自动模式配置</h4>
<p>使用外部自动运行接口的输入 / 输出</p>
<p><img src="/static/img/db0ff3974c69b8f05960bf3dd0ac940b.image.png" alt="image.png"></p>
<p>PGNO_TYPE - 程序号类型</p>
<table>
<thead>
<tr>
<th><strong>值</strong></th>
<th><strong>说明</strong></th>
<th><strong>示例</strong></th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>以二进制数值读取。上级控制系统以二进制编码整数值的形式传递程序编号。</td>
<td>0 0 1 0 0 1 1 1 =&gt; PGNO = 39</td>
</tr>
<tr>
<td>2</td>
<td>以BCD值读取。上级控制系统以二进制编码小数值的形式传递程序编号。</td>
<td>0 0 1 0 0 1 1 1 =&gt; PGNO = 27</td>
</tr>
<tr>
<td>3</td>
<td>以“N选1”的形式读取。上级控制系统或外围设备以“N选1”的编码值传递程序编号。</td>
<td>0 0 0 0 0 0 0 1 =&gt; PGNO = 1  &amp;0 0 0 0 1 0 0 0 =&gt; PGNO = 4</td>
</tr>
</tbody>
</table>
<pre><code class="language-kuka">Reflect_Prog #反馈回来的程序号  
Pgno_Fbit #字节第一位 $IN[12] ~ $IN[19]来映射给变量Pgno   此时Pgno_Fbit的值为12 
  

启动流程
T1模式进cell.src   运行至Ext-aut模式
PLC上电一直给$move_Enable信号
PLC给完$move_Enable信号0.5s后，一直给机器人$Drivers-off信号 
PLC给完$Drivers-off信号信号0.5s后，再给机器人$Drivers-on信号
然后机器人给一个$Peri-day信号到PLC
之后PLC断开$Drivers-on信号
PLC发给机器人$Ext-star（脉冲信号）启动机器人
当PLC接收到Pgno_Req信号后,PLC把程序号发给机器人
当PLC发程序号0.5s后，PLC发机器人$Pgno_Vaild 脉冲，使程序号生效

停止机器人：断开$Drivers-off信号
启动机器人：重复345
复位故障：发脉冲信号至$conf-mess
</code></pre>
<h4>PLC连接机器人</h4>
<p><img src="/static/img/f099d0620b159561035af237e566e9d0.image.png" alt="image.png"></p>
<table>
<thead>
<tr>
<th><strong>KRC</strong></th>
<th><strong>交互</strong></th>
<th><strong>PLC</strong></th>
</tr>
</thead>
<tbody>
<tr>
<td>outputs</td>
<td>→</td>
<td>inputs</td>
</tr>
<tr>
<td>inputs</td>
<td>←</td>
<td>outputs</td>
</tr>
</tbody>
</table>
<p>配置cell.src程序<br>
配置外部输入/输出</p>
<ol>
<li>在主菜单中选择配置  输入 / 输出端  外部自动运行</li>
<li>在数值栏中标定所需编辑的单元格，然后点击编辑</li>
<li>输入所需数值，并用 OK 加以保存</li>
<li>对所有待编辑的数值重复第 2 和第 3 步</li>
<li>关闭窗口。 改动即被应用</li>
</ol>
<p>点击下方 加工 更改</p>
<pre><code class="language-kuka">Pgno      #当前程序号
Pgno_Type #程序号类型
PGNO_LENGTH #变量映射长度   若 PGNO_TYPE 的值为 2，则只允许位宽为 4、8、12 和 16
PGNO_PARITY   #奇偶校验   负值 奇   0 无分析   正值 偶
PGNO_VALID  #程序编号有效  负值 下降沿   正值 上升沿
$EXT_START  #外部启动
$MOVE_ENABLE #允许运行  默认#IN[1025]=true 
$CONF_MESS #错误确认 1026
$DRIVES_ON #驱动装置接通
$DRIVES_OFF #驱动装置关闭
$ALARM_STOP #紧急停止 1013 常闭回路
$USER_SAF #操作人员防护 1011
$PERI_RDY #驱动装置处于待机状态  1012
$STOPMESS #停止信息  1010

PGNO_REQ  #程序号请求
$I_O_ACTCONF  #外部自动运行激活
$PRO_ACT  #程序激活 / 正在运行 1021
APPL_RUN  #应用程序在运行中
$IN_HOME  #机器人位于起始位置 (HOME）
$ON_PATH  #机器人位于轨迹上
$Pro_move #程序在没在移动 1022
</code></pre>
<p>输出端</p>
<ul>
<li>启动条件</li>
<li>程序状态</li>
<li>机器人位置</li>
<li>运行方式</li>
</ul>
<h4>分步任务划分</h4>
<ol>
<li>接通驱动装置</li>
</ol>
<p><img src="/static/img/38e2d75bcc2e4bee534df41f2b1c92e9.image.png" alt="image.png"></p>
<ol start="2">
<li>确认信息提示</li>
</ol>
<p><img src="/static/img/02482c1f309860f964b6cafcc3eff006.image.png" alt="image.png"></p>
<ol start="3">
<li>启动 Cell 程序</li>
</ol>
<p><img src="/static/img/701feffbcee3cf3f28f605d0128d8777.image.png" alt="image.png"></p>
<ol start="4">
<li>传递程序号并处理应用程序</li>
</ol>
<p><img src="/static/img/12f8108787ffa1c3c6ff98532c46509d.image.png" alt="image.png"><br>
<strong>对每一项分步任务均须满足相关条件，并且必须能够将机器人状态报告给PLC</strong></p>
<pre><code class="language-kuka">接通驱动装置:
前提条件
 $USER_SAF - 防护门已关闭
 $ALARM_STOP - 无紧急停止
 $I_O_ACTCONF - 外部自动运行激活
 $MOVE_ENABLE - 允许运行
 $DRIVER_OFF - 未激活驱动装置关闭
 
接通驱动装置
$DRIVES_ON - 接通驱动装置至少 20ms
驱动装置处于待机状态
$PERI_RDY - 一有驱动装置的反馈，信号 $DRIVES_ON 便撤回

确认信息提示:
前提条件
$STOPMESS - 有停止信息

确认信息提示
$CONF_MESS - 确认信息提示

可确认的信息提示就此删除
$STOPMESS - 不再有停止信息，现在可撤回 $CONF_MESS

从外部启动程序 (CELL.SRC):
前提条件
 $PERI_RDY - 驱动装置处于待机状态
 $IN_HOME - 机器人位于起始位置 (HOME)
 无 $STOPMESS - 无停止信息
 
外部启动
$EXT_START - 接通外部启动 （脉冲正沿）

CELL 程序在运行
$PRO_ACT - 报告 CELL 程序在运行
$ON_PATH - 一有机器人位于轨迹上的反馈，信号 $EXT_START 便撤回

处理程序传递和应用程序:
前提条件
 $PERI_RDY - 驱动装置处于待机状态
 $PRO_ACT - CELL 程序在运行
 $ON_PATH - 机器人在轨迹上 
 $IN_HOME - 机器人位于起始位置 (HOME)，重新启动时不再需要
 PGNO_REQ - 有程序号问询
 
 程序号传递和确认
 程序号传递 
（正确的数据类型 (PGNO_TYPE)，程序号长度 (PGNO_LENGTH) 和程序号的第一比特位 (PGNO_FBIT) 已设定）
 PGNO_VALID - 将程序号切换为有效 （确认，脉冲正沿）
 
 应用程序在运行中
 APPL_RUN - 报告应用程序在运行中
 机器人离开起始位置 (HOME)，应用程序结束后机器人重又返回起始位置 (HOME)

</code></pre>
<pre><code class="language-kuka">$RC_rdy1  #控制器就绪
$IN_Home  #home点
$T1
$T2
$AUT  #自动
</code></pre>
<h4>修改sps程序</h4>
<p><img src="/static/img/44e98fe20e053b95315a577052b566af.image.png" alt="image.png"></p>
<p>R1 System sps程序<br>
在USER PLC里添加</p>
<ul>
<li>不允许有运动指令</li>
<li>不允许有$advance</li>
<li>不建议有时间等待</li>
</ul>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/自我提升">自我提升</category>
        </item>
        <item>
            <title><![CDATA[一周学会KUKA之Day5： 软件WorkVisual使用]]></title>
            <link>http://blog.wilsonzy.cn/post/112</link>
            <guid>http://blog.wilsonzy.cn/post/112</guid>
            <pubDate>Sun, 01 Jun 2025 02:35:53 GMT</pubDate>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <!-- more -->
<h2>软件WorkVisual使用</h2>
<p><img src="/static/img/1702e8f59423838e8d39deaa90faa525.image.png" alt="image.png"></p>
<p>中文显示IO定义名称</p>
<ol>
<li>选择菜单序列编辑器 &gt; 长文本编辑器</li>
<li>长文本已按照主题排序。 在左列中选择要显示哪些长文本，例如：数字输入端</li>
<li>在其它的列中选择应显示的一种或多种语言</li>
<li>按需编辑长文本</li>
</ol>
<p>快捷键：<strong>ctrl + L</strong></p>
<p><img src="/static/img/4491c49fc2a4ae21954184c614d019e3.image.png" alt="image.png"><br>
保存  编译  下载（导入）<br>
程序中不会识别中文  会显示？？？</p>
<h2>通过电脑WorkVisual软件连接库卡控制柜</h2>
<p>电脑 网线 连接控制柜KL1<br>
修改电脑IP为 172.31.1.11  子网掩码 255.255.0.0<br>
打开软件   查找  更新   找到后  打开</p>
<p><img src="/static/img/a3062a2e0eaaeba8f14e42799e0a5875.image.png" alt="image.png"></p>
<p>双击 项目结构下的控制柜_<br>
右键总线结构 添加 KUKA Extension Bus (SYS-X44)<br>
双击KUKA Extension Bus (SYS-X44) 右键 EtherCAT 添加<br>
EK1100-EtherCAT Coupler(2A E-BUS) #电源耦合器<br>
打开 EK1100-EtherCAT Coupler(2A E-BUS)  添加<br>
EL1809   #16输入<br>
EL2809   #16输出</p>
<p><img src="/static/img/d3530d079abcdd2e1a40ae4fb6c046a9.image.png" alt="image.png"></p>
<p>输入信号关联<br>
<img src="/static/img/48a37f954b40126b8c5dbef45e3403ac.image.png" alt="image.png"></p>
<p>输出信号关联</p>
<p><img src="/static/img/044faef1f2c1257d28c7942c3cf27bdc.image.png" alt="image.png"></p>
<h2>组信号</h2>
<p>机器人控制系统 8 个数字输入或输出可编组为一个具有 BYTE 数据类型的信号。 编组的信号可从其名称后缀 #G 看出</p>
<ol>
<li>在选项卡 KR C 输入 / 输出端下选定 8 个依次排列的信号并用右键点击。</li>
<li>选择编组</li>
</ol>
<p><img src="/static/img/2d9dbb1e58fdb9f8102a66fb77627cf8.image.png" alt="image.png"></p>
<p><img src="/static/img/dea4bad5e1387e10a5b7b90b23bc11ab.image.png" alt="image.png"></p>
<p>软件安装   工具  备选软件包管理<br>
安装  .kop 软件包</p>
<p><img src="/static/img/e3566d1b6cf2e5c4184b41e8ca0eca70.image.png" alt="image.png"><br>
卸载   点击 “ 已安装的备选软件包 ” 区域中备选软件包名称旁的<strong>红色叉 &quot;X&quot;</strong></p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/自我提升">自我提升</category>
        </item>
        <item>
            <title><![CDATA[一周学会KUKA之Day4：KUKA程序调试与优化]]></title>
            <link>http://blog.wilsonzy.cn/post/111</link>
            <guid>http://blog.wilsonzy.cn/post/111</guid>
            <pubDate>Mon, 13 Jan 2025 10:00:57 GMT</pubDate>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <!-- more -->
<h4>cell主程序</h4>
<p><img src="/static/img/9a0b18023af331846c263ced60cf850d.image.png" alt="image.png"></p>
<p>1.初始化和HOME位置</p>
<ul>
<li>初始化基坐标参数</li>
<li>根据HOME位置检查机器人位置</li>
<li>初始化外部自动运行接口<br>
2.无限循环<br>
3.程序号的选择循环程序</li>
</ul>
<h4>结构化程序</h4>
<ul>
<li>1.注释 ;</li>
<li>2.缩进   提高程序单元之间的关联清晰度</li>
<li>3.隐藏   专家用户组中打开和编辑 FOLD （“ 折叠 ”）</li>
<li>4.模块化 子程序</li>
</ul>
<pre><code class="language-kuka">；fold chengxu1
PTP P1
.....
.....
PTP HOME
;endfold
</code></pre>
<p>隐藏后 只显示<strong>chengxu1</strong></p>
<ul>
<li>新建一些空格再编写上方的fold语句</li>
</ul>
<p>:::info{title=&quot;在机器人程序中使用 FOLD 有什么作用？&quot;}</p>
<ul>
<li>在 FOLD 里可以隐藏程序段</li>
<li>FOLD 的内容对用户来说是不可见的</li>
<li>FOLD 的内容完全如通常情况在程序运行流程中得到处理</li>
<li>通过使用 Fold 可改善程序的可读性<br>
:::</li>
</ul>
<h4>全局子程序调用</h4>
<p><img src="/static/img/e52633b842cc84a39e42af6f12837862.image.png" alt="image.png"></p>
<h4>局部子程序</h4>
<p><img src="/static/img/ded89660c2fd43215fb515cedd0fbd49.image.png" alt="image.png"></p>
<pre><code class="language-kuka">prog1
subprog1
subprog2

DEF prog1()   #专家用户组  使 DEF 行显示出来
subprog1
subprog2
END
_____________________  #用光标跳到 END 行下方
DEF subprog1  # 通过 DEF、程序名称和括号指定新的局部程序头

END     #通过 END 命令结束新的子程序

DEF subprog2

END
</code></pre>
<p><strong>调用子程序的过程</strong></p>
<p><img src="/static/img/e2ccf7722d0717fec9afffa0732094cc.image.png" alt="image.png"></p>
<p>调用子程序的操作步骤</p>
<ol>
<li>主菜单  配置  用户组  专家  KUKA</li>
<li>打开主程序  光标定位所需行</li>
<li>输入子程序名称和括号</li>
</ol>
<pre><code class="language-kuka">INI
PTP HOME vel=100% DEFAULT
myprog()
PTP HOME vel=100% DEFAULT
</code></pre>
<h4>程序优化</h4>
<p>wait time=1 sec<br>
wait sec 1</p>
<p>out 1 ''State=true<br>
$out[1]=true</p>
<p>pulse 2 ''State=true time=2.5 sec<br>
pulse($out[2],true,2.5)</p>
<p>wait for (NOT IN 1 '')<br>
wait for (NOT $IN[1])</p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/自我提升">自我提升</category>
        </item>
        <item>
            <title><![CDATA[一周学会KUKA之Day4：KUKA程序结构与功能]]></title>
            <link>http://blog.wilsonzy.cn/post/110</link>
            <guid>http://blog.wilsonzy.cn/post/110</guid>
            <pubDate>Mon, 13 Jan 2025 12:00:14 GMT</pubDate>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <!-- more -->
<p>程序结构与控制指令<br>
主程序与子程序：使用DEF（定义）创建程序、CALL调用子程序，模块化编程<br>
条件语句：学习使用IF、ELSE、ENDIF语句进行程序逻辑判断<br>
循环结构：使用FOR、WHILE、REPEAT等语句创建程序循环，控制机器人重复任务</p>
<h4>等待函数编程</h4>
<pre><code class="language-kuka">wait time 1.00 sec   #等待1s  指令 编辑  
WAIT SEC 1
</code></pre>
<h4>等待外部信号</h4>
<p><img src="/static/img/63adb5470600229a59f6bc3968eeb257.image.png" alt="image.png"></p>
<ol>
<li>外部连接  AND OR EXOR NOT 空白</li>
<li>内部连接  AND OR EXOR NOT 空白</li>
<li>等待的信号 IN OUT CYCFLAG Timer fiag</li>
<li>信号的编号  1~4096</li>
<li>信号的备注</li>
<li>cont 在预进过程中加工   空白 带预进停止的加工</li>
</ol>
<pre><code class="language-kuka">wait for (in 10&quot;door_signal&quot;) #等待信号10
</code></pre>
<ul>
<li>AND  同真为真  与</li>
<li>OR  有1为1 或</li>
<li>EXOR  为不同值时，结果为真  异或</li>
<li>NOT 否定，使值取反</li>
</ul>
<p><img src="/static/img/2540222f92cb230dbe120c3a0a6ebd94.image.png" alt="image.png"></p>
<ol>
<li>输出信号编号</li>
<li>备注</li>
<li>输出端接通的状态</li>
<li>cont 在预进过程中加工   空白 带预进停止的加工</li>
</ol>
<p><img src="/static/img/f83875ce5b9829ed0c50819492b7e198.image.png" alt="image.png"></p>
<ol>
<li>输出信号编号</li>
<li>备注</li>
<li>输出端接通的状态</li>
<li>cont 在预进过程中加工   空白 带预进停止的加工</li>
<li>脉冲时间</li>
</ol>
<pre><code class="language-kuka">pulse 45&quot;pick&quot; state = true cont time = 0.5 sec #信号45的脉冲持续时间0.5s

signal dilint $in[1] #输入
signal doclose $out[2] #输出

out 88 ‘ ’state = true #当输出信号88为真时  ‘ ’信号备注  
</code></pre>
<p>R1 System $config  #全局变量  即使没有程序在运行也始终可以被显示</p>
<p>局部DAT文件中的变量<br>
在相关SRC文件的程序运行时可以一直被显示  在局部子程序中也可以使用</p>
<ul>
<li>运动指令</li>
<li>通讯指令</li>
<li>循环  无限循环  计数循环  当型和直到型循环</li>
<li>分支  条件分支  多分支结构</li>
</ul>
<h4>无限循环</h4>
<p>死循环<br>
<strong>无Exit</strong> 永久执行P1和P2的运动指令<br>
<img src="/static/img/329cb4d32e7f9421606bf0e8b5eb82aa.image.png" alt="image.png"></p>
<p>跳出循环</p>
<pre><code class="language-kuka">带exit  一直执行对P1和P2的运动指令 直到输入端30为true 则跳出循环
loop
ptp p1 vel=100% PDAT1
ptp p2 vel=100% PDAT1
	if $IN[30]=true then
		exit
	endif
endloop
</code></pre>
<h4>脉冲输出</h4>
<p>指令  逻辑  out  脉冲</p>
<pre><code class="language-kuka">PULSE 1 () State=true cont time = 0.1 sec
#1 脉冲输出序号   State状态 高电平 低电平   cont是否有逼近效果   time持续时间
</code></pre>
<h4>计时器</h4>
<p><img src="/static/img/f49754261a8ac2d38a4f0b487dce182f.image.png" alt="image.png"></p>
<ul>
<li>$TIMER[1]</li>
<li>$TIMER[2]</li>
<li>...</li>
<li>$TIMER[32]<br>
:::info{title=&quot;相关信息&quot;}<br>
计时器 $TIMER[Nr] 的数值输入 / 显示都以毫秒 ms 为单位<br>
:::</li>
</ul>
<pre><code class="language-kuka">int A
A=0

$timer[30]=0  #初始化计时器
$timer_stop[30]=false  #计时开始
.........
$timer_stop[30]=true  #计时结束
A=$timer[30]  #将30号计时器结果赋值给A
</code></pre>
<pre><code class="language-kuka">$timer[1]=0  #初始化计时器
$timer_stop[1]=false  #计时开始
wait sec 5
wait sec 8
$timer_stop[1]=true  #计时结束
$timer[2]=$timer[1]/1000    #13    单位为ms   要转换为s 所以要/1000
</code></pre>
<h4>计数循环</h4>
<ul>
<li>用INT变量i 来对一个循环语句内循环计数</li>
</ul>
<p><img src="/static/img/b94428c49e9f60a0407a0ed937142e67.image.png" alt="image.png"></p>
<pre><code class="language-kuka">int i   
......     #码垛使用较多
for i = 1 to 5
    $out[i]=true
endfor
</code></pre>
<h4>当数循环</h4>
<p>while 先判断型循环</p>
<ul>
<li>在执行循环部分前先判断终止条件是否成立</li>
</ul>
<p><img src="/static/img/c39feb17a318ecb70c37aff52a034ebb.image.png" alt="image.png"></p>
<pre><code class="language-kuka">while $IN[22]== TRUE  #仅当循环前满足$IN[22]= TRUE时才成立
    $OUT[17]=TRUE
    $OUT[18]=FALSE
    PTP HOME
endwhile
</code></pre>
<h4>直到型循环</h4>
<ul>
<li>在执行完循环的指令部分后才会检测终止条件</li>
</ul>
<p><img src="/static/img/9c877d463ec0fda21c730a193146348c.image.png" alt="image.png"></p>
<pre><code class="language-kuka">repeat    #一直循环，直到输出端 17 被切换为 TRUE，而输出端 18 被切换为FALSE，并且机器人移入 Home 位置，这时才会检测条件跳出循环
$OUT[17]=TRUE
$OUT[18]=FALSE
ptp home
until $IN[22]== TRUE
</code></pre>
<p>:::info{title=&quot;注意&quot;}<br>
赋值用一个=<br>
判断用两个=<br>
:::</p>
<h4>条件性分支</h4>
<ul>
<li>如果满足条件，则处理第一个指令</li>
<li>如果未满足，则处理第二个指令</li>
</ul>
<p><img src="/static/img/39c55c035c77bdcc6a9d3f4f4f34626b.image.png" alt="image.png"></p>
<pre><code class="language-kuka">IF $IN[30]==TRUE THEN
PTP P3
ELSE
PTP P4
ENDIF
</code></pre>
<pre><code class="language-kuka">DEF MY_PROG( )
DECL INT error_nr
...
INI
error_nr = 4
...
; 仅在 error_nr 1 或 10 或大于 99 时驶至 P21
IF ((error_nr == 1) OR (error_nr == 10) OR (error_nr &gt; 99)) THEN
PTP P21 Vel=100% PDAT21
ENDIF
...
END
</code></pre>
<h4>switch 多路分支</h4>
<ul>
<li>首先分析一个表达式</li>
</ul>
<p><img src="/static/img/c52bed496662681a6a70248ed8031b87.image.png" alt="image.png"></p>
<pre><code class="language-kuka">INT Status    #整型变量
.....
switch status
CASE 1   #如果变量值为1  则执行
PTP P5     #机器人运动到P5
CASE 2    #如果变量值为2  则执行
PTP P6     #机器人运动到P6
.....
DEFAULT   #如果变量值未在CASE中列出
ERROR-MSG    #则执行 故障信息
endswitch
</code></pre>
<p>带枚举数据类型的 switch-case 分支</p>
<pre><code class="language-kuka">DEF MY_PROG( )
ENUM COLOR_TYPE red, yellow, blue, green
DECL COLOR_TYPE my_color
...
INI
my_color = #red
...
SWITCH my_color
CASE #red
PTP P21 Vel=100% PDAT21
CASE #yellow
PTP P22 Vel=100% PDAT22
CASE #green
PTP P23 Vel=100% PDAT23
CASE #blue
PTP P24 Vel=100% PDAT24
ENDSWITCH
</code></pre>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/自我提升">自我提升</category>
        </item>
        <item>
            <title><![CDATA[一周学会KUKA之Day3：路径规划与轨迹控制]]></title>
            <link>http://blog.wilsonzy.cn/post/109</link>
            <guid>http://blog.wilsonzy.cn/post/109</guid>
            <pubDate>Mon, 13 Jan 2025 07:46:53 GMT</pubDate>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <!-- more -->
<h4>路径规划基本原理</h4>
<p>通过<strong>PTP</strong>指令定义机器人从一个位置到另一个位置的路径。<br>
使用<strong>LIN</strong>指令进行线性插补，指定多个点并连接成一条直线路径。<br>
使用<strong>CIRC</strong>指令进行圆弧轨迹的编程，控制机器人执行圆形轨迹。</p>
<h4>机器人速度与加速度控制</h4>
<p>控制机器人运动速度（例如，$VEL.CP表示连续路径模式下的速度）。<br>
设置加速度与减速度，避免机器人运动过程中出现过大的力。</p>
<pre><code class="language-kuka">DEF KUKA1  #程序名称
INI   #初始化
PTP HOME ver=100% DEFAULT   #机器人的第一个指令必须是PTP或SPTP
PTP P1 vel=100% PDAT1 TOOL[1] Base[0]
PTP P2 vel=100% PDAT1 TOOL[1] Base[0]
OUT1 ''start=true cont
lin p3 vel=2.00m/s CPDAT1 TOOL[1] Base[0]
PTP HOME ver=100% DEFAULT    #轨迹化程序
END   #程序结束
</code></pre>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/自我提升">自我提升</category>
        </item>
        <item>
            <title><![CDATA[一周学会KUKA之Day3：坐标系]]></title>
            <link>http://blog.wilsonzy.cn/post/108</link>
            <guid>http://blog.wilsonzy.cn/post/108</guid>
            <pubDate>Mon, 13 Jan 2025 07:42:52 GMT</pubDate>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <!-- more -->
<h4>坐标系的理解</h4>
<ul>
<li>ROBROOT 机器人足部坐标系</li>
<li>WORLD 世界坐标系</li>
<li>BASE 基坐标系</li>
<li>TOOL  工具坐标系</li>
<li>FLANGE 法兰坐标系<br>
<img src="/static/img/1cfa987884e22669728694903d377798.image.png" alt="image.png"><br>
世界坐标系（World Coordinate System）：固定在机器人的基础上，通常用于描述机器人整体位置。<br>
工具坐标系（Tool Coordinate System）：固定在末端执行器上，用于描述末端工具的工作姿态。<br>
基座坐标系（Base Coordinate System）：机器人基座的位置和朝向，用于描述机器人工作环境中的空间。<br>
坐标系转换：如何在不同坐标系之间转换与应用。</li>
</ul>
<p><img src="/static/img/2760b3b71b15e2f8d98dececbe655bde.image.png" alt="image.png"></p>
<h4>机器人运动学基础</h4>
<p>正向运动学（Forward Kinematics）：根据机器人关节角度计算末端执行器的位置。<br>
逆向运动学（Inverse Kinematics）：根据末端执行器的位置计算机器人关节角度。</p>
<p>顶奇异点 1  A5中点垂直A1</p>
<p><img src="/static/img/7230580f6bd1ad02d7afedb29cb4638b.image.png" alt="image.png"></p>
<p>延伸位置奇异点2   A5中点位A2A3延长线</p>
<p><img src="/static/img/d6bede2b2001b632978b6402e2b3b97f.image.png" alt="image.png"><br>
手轴奇异点5 A4与A6平行  A5处于+—0.01812°</p>
<p><img src="/static/img/b7f7e507f5d47a946539045855679f25.image.png" alt="image.png"></p>
<p>轴  全局  基坐标系  工具</p>
<h4>外部TCP</h4>
<p>用一个固定工具进行手动移动<br>
<img src="/static/img/a37e6a9ed2bddb5e6286a4db10549ef2.image.png" alt="image.png"></p>
<ul>
<li>1.在工具选择窗口选择  由机器人导引的工件</li>
<li>2.在基坐标选择窗口选择 固定工具</li>
<li>3.将ipomode模式设为 外部工具</li>
<li>4.作为工具设定</li>
<li>
<ul>
<li>工具设定，以便在工件坐标系中移动</li>
</ul>
</li>
<li>
<ul>
<li>基坐标设定，以便在外部工具坐标系中移动</li>
</ul>
</li>
<li>5.手动倍率</li>
<li>6.按下使能开关的中间位置并保持按住</li>
<li>7.移动</li>
</ul>
<p>外部TCP （如涂胶、焊接等）</p>
<h4>TCP 校正</h4>
<p><img src="/static/img/5dd198e9660640cac1a631023ccd740f.image.png" alt="image.png"></p>
<ol>
<li>选择主菜单序列 投入运行  测量  工具  XYZ 4 点</li>
<li>为待测量的工具给定一个号码和一个名称。 用继续键确认</li>
<li>用 TCP 移至任意一个参照点。 按下软键测量，对话框 “ 是否应用当前位置？ 继续测量 ” 用是加以确认</li>
<li>用 TCP 从一个其他方向朝参照点移动。 重新按下测量，用是回答对话框提问</li>
<li>把第 ４ 步重复两次</li>
<li>负载数据输入窗口自动打开。 正确输入负载数据，然后按下继续</li>
<li>包含测得的 TCP X、Y、Z 值的窗口自动打开，测量精度可在误差项中读取。 数据可通过保存直接保存</li>
</ol>
<p><img src="/static/img/311ac463fb9b25a6f05d6250b7025fdc.image.png" alt="image.png"><br>
XYZ4点  （4个不同姿态的点位）<br>
数字输入（可自定义输入）</p>
<h4>测量基坐标</h4>
<p><img src="/static/img/71438573cd39dad7d90580f7bcfffba6.image.png" alt="image.png"><br>
:::info{title=&quot;相关信息&quot;}<br>
基坐标测量只能用一个事先已测定的工具进行 （TCP 必须为已知的）。<br>
:::</p>
<ol>
<li>在主菜单中选择  投入运行  测量  基坐标系  3 点</li>
<li>为基座标分配一个号码和一个名称。 用继续键确认</li>
<li>输入需用其 TCP 测量基坐标的工具的编号。 用继续键确认</li>
<li>用 TCP 移到新基坐标系的<strong>原点</strong>。 点击<strong>测量</strong>软键并用是键确认位置</li>
</ol>
<p><img src="/static/img/92a8f9471ea2c1e02743451b6c8b27f5.image.png" alt="image.png"><br>
5. 将 TCP 移至新基座<strong>正向 X 轴上的一个点</strong>。 点击<strong>测量</strong>并用是键确认位置</p>
<p><img src="/static/img/4d3fdf54fe5f205468aa98618b11c87e.image.png" alt="image.png"><br>
6. 将 TCP 移至 <strong>XY 平面上一个带有正 Y 值的点</strong>。 点击<strong>测量</strong>并用是键确认位置</p>
<p><img src="/static/img/e7b3a43b69acc293be322e86cdc44b43.image.png" alt="image.png"><br>
7. 按下保存键<br>
8. 关闭菜单</p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/自我提升">自我提升</category>
        </item>
        <item>
            <title><![CDATA[一周学会KUKA之Day2：KUKA编程语言基础]]></title>
            <link>http://blog.wilsonzy.cn/post/107</link>
            <guid>http://blog.wilsonzy.cn/post/107</guid>
            <pubDate>Mon, 13 Jan 2025 09:06:47 GMT</pubDate>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <!-- more -->
<p>KRL语言简介<br>
KRL的基本语法：变量声明、数据类型（整数、浮点数、字符串等）、常用函数、注释写法。<br>
编程结构：了解程序结构，包括开头的初始化部分、主体部分以及结尾部分。<br>
基础指令：PTP（点对点）、LIN（线性运动）、CIRC（圆弧运动）、WAIT（等待指令）等。</p>
<h4>创建程序模块</h4>
<p>编程模块应始终保存在文件夹 “Program” （程序）中</p>
<p><img src="/static/img/1440cb891a314ffde1066ba8d61c2d60.image.png" alt="image.png"></p>
<p>模块由两个部分组成</p>
<p><img src="/static/img/b0fefc09a18ed2d757bfdad2ecfe00d6.image.png" alt="image.png"></p>
<pre><code class="language-kuka">#SRC文件中含有程序源代码
DEF MAINPROGRAM ()
INI
PTP HOME Vel= 100% DEFAULT
PTP POINT1 Vel=100% PDAT1 TOOL[1] BASE[2]
PTP P2 Vel=100% PDAT2 TOOL[1] BASE[2]
…
END
</code></pre>
<pre><code class="language-kuka">#DAT文件中含有固定数据和点坐标
DEFDAT MAINPROGRAM ()
DECL E6POS XPOINT1={X 900, Y 0, Z 800, A 0, B 0, C 0, S 6, T 27, E1 
0, E2 0, E3 0, E4 0, E5 0, E6 0}
DECL FDAT FPOINT1 …
…
ENDDAT
</code></pre>
<h4>编写第一个简单程序</h4>
<p>让机器人从当前位置移动到指定位置，然后返回原位。<br>
实践中使用PTP指令进行点对点的运动编程。</p>
<p><img src="/static/img/5d2076034e36e5ff13d0d0eeba59dadc.image.png" alt="image.png"></p>
<p><img src="/static/img/97c321c05f289f7cc9aa67f7a8099f0b.image.png" alt="image.png"></p>
<p><img src="/static/img/ca7db6fb033e95feee6142a0fc7328ac.image.png" alt="image.png"><br>
1.运动方式</p>
<ul>
<li>PTP 点到点 （工具沿最快轨迹运行至目标点）</li>
<li>lIN 直线</li>
<li>CIRC 圆弧</li>
<li>Spline 样条曲线</li>
</ul>
<p>2.目标点   圆弧需要额外示教一个辅助点<br>
3.cont 目标点被轨迹逼近 （有弧度转角） 空白 将精准地移动到目标点，没有弧度转角<br>
4.速度 ptp 1-100%  lin 0.001-2m/s<br>
5.加速度   轨迹逼近距离（在3中输入cont ) 姿态引导（仅限于沿轨迹运动）</p>
<p><strong>轨迹逼近距离</strong></p>
<p><img src="/static/img/9c5e9ef2d567e4dd865990547d7e9d0a.image.png" alt="image.png"></p>
<p>动作</p>
<p>选择当前程序的工具坐标系和基坐标系 移动机器人到目标位置<br>
指令添加</p>
<p><img src="/static/img/8282df8a368381efff569d5399b3d87d.image.png" alt="image.png"></p>
<ol>
<li>工具1-16</li>
<li>基坐标系1-32</li>
<li>外部TCP = false(该工具在法兰处)   = true(该工具为一个固定工具)</li>
<li>碰撞识别</li>
</ol>
<h4>借助模板创建程序</h4>
<ul>
<li>Cell： 现有的 Cell 程序，只能被替换或者在删除 Cell 程序后重新创建</li>
<li>Expert： 模块由只有程序头和程序结尾的 SRC 和 DAT 文件构成</li>
<li>Expert Submit： 附加的 Submit 文件 (SUB) 由程序头和程序结尾构成</li>
<li>Function： SRC 函数创建，在 SRC 中只创建带有 BOOL 变量的函数头。函数结尾已经存在，但必须对返回值进行编程</li>
<li>Modul： Modul （模块）由具有程序头、程序结尾以及基本框架 (INI 和 2 个 PTP HOME) 的 SRC 和 DAT 文件构成。</li>
<li>Submit： 附加的 Submit 文件 (SUB) 由程序头、程序结尾以及基本框架 (DECLARATION、INI、LOOP/ENDLOOP) 构成</li>
</ul>
<h4>变量</h4>
<p>命名规范</p>
<ul>
<li>名称最多24个字符</li>
<li>名称允许包含字母 (A-Z)、数字 (0-9) 以及特殊字符 “_” 和 “$”</li>
<li>不允许为关键字</li>
<li>不允许以数字开头</li>
<li>不区分大小写</li>
</ul>
<p>在 SCR 文件中创建的变量被称为运行时间变量</p>
<ul>
<li>不能被一直显示</li>
<li>仅在声明的程序段中有效</li>
<li>在到达程序的最后一行 （END 行）时重新释放存储位置</li>
</ul>
<p>局部 DAT 文件中的变量</p>
<ul>
<li>在相关 SRC 文件的程序运行时可以一直被显示</li>
<li>在完整的 SCR 文件中可用，因此在局部的子程序中也可用</li>
<li>也可创建为全局变量</li>
<li>获得 DAT 文件中的当前值，重新调用时以所保存的值开始</li>
</ul>
<p>系统文件 $CONFIG.DAT 中的变量</p>
<ul>
<li>在所有程序中都可用 （全局）</li>
<li>即使没有程序在运行，也始终可以被显示</li>
<li>获得 $CONFIG.DAT 文件中的当前值</li>
</ul>
<p>:::info{title=&quot;相关信息&quot;}<br>
需在<strong>专家用户组</strong>下进行操作<br>
:::</p>
<p>简单数据类型</p>
<ul>
<li>整数 (INT)</li>
<li>实数 (REAL)</li>
<li>布尔数 (BOOL)</li>
<li>单个字符 (CHAR)</li>
<li></li>
</ul>
<h4>变量声明</h4>
<ol>
<li>在使用前必须总是先进行声明</li>
<li>每一个变量均划归一种数据类型</li>
<li>命名时要遵守命名规范</li>
<li>声明的关键词为 DECL</li>
<li>对四种简单数据类型关键词 DECL 可省略</li>
</ol>
<p>常量</p>
<ul>
<li>常量用关键词 CONST 建立</li>
<li>常量只允许在数据列表中建立</li>
</ul>
<p>在 SCR 文件中创建变量</p>
<pre><code class="language-kuka">DEF MY_PROG ( )
DECL INT counter
DECL REAL price
DECL BOOL error
DECL CHAR symbol
INI
...
END
</code></pre>
<p>在 DAT 文件中创建变量</p>
<pre><code class="language-kuka">DEFDAT MY_PROG
EXTERNAL DECLARATIONS
DECL INT counter
DECL REAL price
DECL BOOL error
DECL CHAR symbol
...
ENDDAT
</code></pre>
<p>在 $CONFIG.DAT 中创建变量</p>
<pre><code class="language-kuka">DEFDAT $CONFIG
BASISTECH GLOBALS
AUTOEXT GLOBALS
USER GLOBALS
...
;==================================
; 用户自定义类型
;==================================
;==================================
; 外部用户自定义
;==================================
;==================================
; 用户自定义变量
;==================================
DECL INT counter
DECL REAL price
DECL BOOL error
DECL CHAR symbol
...
ENDDAT
</code></pre>
<pre><code class="language-kuka">声明与定义
DEF test1
DECL int counter #整数
DECL real price  #小数
DECL bool error  #布尔量
DECL char symbol  #字

int counter 04
bool error 04

INI   #初始化
counter 999=0
price = 998.99
error = false
symbol = &quot;x&quot;
END
</code></pre>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/自我提升">自我提升</category>
        </item>
        <item>
            <title><![CDATA[一周学会KUKA之Day2：KUKA控制器硬件与操作界面]]></title>
            <link>http://blog.wilsonzy.cn/post/106</link>
            <guid>http://blog.wilsonzy.cn/post/106</guid>
            <pubDate>Mon, 13 Jan 2025 07:26:29 GMT</pubDate>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <!-- more -->
<p>KUKA KRC4控制器架构<br>
控制器的主要硬件组成：CPU、输入/输出模块、通信模块、驱动模块等。<br>
控制器与机器人本体的连接方式：通过Ethernet、CAN总线等通讯协议实现信息传递。<br>
如何通过控制面板查看机器人状态、错误信息、运行日志等。</p>
<h4>示教器操作与界面</h4>
<p><img src="/static/img/d4a5b7cbf295fe5687ef049d8f91a127.image.png" alt="image.png"></p>
<table>
<thead>
<tr>
<th><strong>序号</strong></th>
<th><strong>说明</strong></th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>用于拔下 smartPAD 的按钮</td>
</tr>
<tr>
<td>2</td>
<td>用于调出连接管理器的钥匙开关。 只有当钥匙插入时，方可转动开关。可以通过连接管理器切换运行模式。</td>
</tr>
<tr>
<td>3</td>
<td>紧急停止键。 用于在危险情况下关停机器人。 紧急停止键在被按下时将自行闭锁。</td>
</tr>
<tr>
<td>4</td>
<td>3D 鼠标。 用于手动移动机器人</td>
</tr>
<tr>
<td>5</td>
<td>移动键。 用于手动移动机器人</td>
</tr>
<tr>
<td>6</td>
<td>用于设定程序倍率的按键</td>
</tr>
<tr>
<td>7</td>
<td>用于设定手动倍率的按键</td>
</tr>
<tr>
<td>8</td>
<td>主菜单按键。 用来在 smartHMI 上将菜单项显示出来。</td>
</tr>
<tr>
<td>9</td>
<td>工艺键。 工艺键主要用于设定工艺程序包中的参数。其确切的功能取决于所安装的工艺程序包。</td>
</tr>
<tr>
<td>10</td>
<td>启动键。 通过启动键可启动一个程序。</td>
</tr>
<tr>
<td>11</td>
<td>逆向启动键。 用逆向启动键可逆向启动一个程序。 程序将逐步运行。</td>
</tr>
<tr>
<td>12</td>
<td>停止键。 用停止键可暂停正运行中的程序。</td>
</tr>
<tr>
<td>13</td>
<td>键盘按键。 显示键盘。 通常不必特地将键盘显示出来，smartHMI 可识别需要通过键盘输入的情况并自动显示键盘。</td>
</tr>
</tbody>
</table>
<h4>拔出 smartPAD 示教器</h4>
<ol>
<li>按下用来拔下 smartPAD 的按钮</li>
</ol>
<p><img src="/static/img/897d65650b9c5306452c8ae03e53c44a.image.png" alt="image.png"><br>
2.打开控制柜<br>
3.从机器人控制器上拔下 smartPAD</p>
<p><img src="/static/img/33229b0503b1ce20ef6f6f746228f6d6.image.png" alt="image.png"></p>
<p><strong>cell程序   始终在&quot;R1&quot;文件夹</strong></p>
<p><img src="/static/img/529c92f1ebdb288711a8f8f12bd142ad.image.png" alt="image.png"></p>
<p><img src="/static/img/ca43245111716fd522650eaa14e9c595.image.png" alt="image.png"></p>
<h4>启动机器人程序的操作步骤</h4>
<p>1.选择程序</p>
<p><img src="/static/img/bb8271b1ca3a134fdd3dddf31a1f13bb.image.png" alt="image.png"></p>
<p>2.设定倍率</p>
<p><img src="/static/img/f29398fc5143a3a90f78af90dfd33494.image.png" alt="image.png"></p>
<p>3.使能</p>
<p><img src="/static/img/836b68c88d46650895a899483972b1d2.image.png" alt="image.png"></p>
<p>4.启动</p>
<p><img src="/static/img/c042c385bbd33e0b5a53aa2a2623227b.image.png" alt="image.png"><br>
5. 到达目标位置后运动停止</p>
<p><img src="/static/img/ad87b25b9f7f74de27aad2e1722c0bf1.image.png" alt="image.png"></p>
<p>将显示提示信息 “ 已达 BCO”</p>
<h4>程序状态</h4>
<ul>
<li>R 灰色：未选定程序</li>
<li>R 黄色：程序指针在首行</li>
<li>R 绿色：正在运行选定的程序</li>
<li>R 红色：已暂停选择的程序</li>
<li>R 黑色：程序指针在尾行</li>
</ul>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/自我提升">自我提升</category>
        </item>
        <item>
            <title><![CDATA[一周学会KUKA之Day1：KUKA机器人基础操作]]></title>
            <link>http://blog.wilsonzy.cn/post/105</link>
            <guid>http://blog.wilsonzy.cn/post/105</guid>
            <pubDate>Mon, 13 Jan 2025 06:25:24 GMT</pubDate>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <!-- more -->
<h4>控制面板与手动操作</h4>
<p>启动与停止流程：从启动控制器到进入操作界面，如何安全停止机器人。<br>
手动模式（JOG）操作：使用示教器手动操作机器人关节，调节运动速度与位置。<br>
示教模式：如何将机器人移动到指定位置，并通过手动示教功能记录该位置为“教点”。<br>
坐标系与示教点：了解如何在不同的坐标系下进行示教，使用工具坐标系与基座坐标系。</p>
<h4>KUKA 机器人的运行方式</h4>
<p>T1 （手动慢速运行）</p>
<ul>
<li>用于测试运行、编程和示教</li>
<li>程序执行时的最大速度为 250 mm/s</li>
<li>手动运行时的最大速度为 250 mm/s</li>
</ul>
<p>T2 （手动快速运行）</p>
<ul>
<li>用于测试运行</li>
<li>程序执行时的速度等于编程设定的速度！</li>
<li>手动运行： 无法进行</li>
</ul>
<p>AUT （自动运行）</p>
<ul>
<li>用于不带上级控制系统的工业机器人</li>
<li>程序执行时的速度等于编程设定的速度！</li>
<li>手动运行： 无法进行</li>
</ul>
<p>AUT EXT （外部自动运行）</p>
<ul>
<li>用于带上级控制系统 （PLC）工业机器人</li>
<li>程序执行时的速度等于编程设定的速度！</li>
<li>手动运行： 无法进行</li>
</ul>
<h4>手动慢速运行方式 (T1)</h4>
<ol>
<li>
<p>在 KCP 上转动用于T1开关<br>
<img src="/static/img/465eae64842f8975de3c67c2f38b45fd.image.png" alt="image.png"></p>
</li>
<li>
<p>选择运行方式<br>
<img src="/static/img/63e9f4188ba5d30798132388b1ca4eda.image.png" alt="image.png"></p>
</li>
</ol>
<p>所选的运行方式会显示在 smartPAD 的状态栏中<br>
<img src="/static/img/e9319246a3cab85b67419bf38350a7e6.image.png" alt="image.png"><br>
3. 单独运动机器人的各轴</p>
<p><img src="/static/img/1e375dfb5df00000294ce02263b56859.image.png" alt="image.png"></p>
<p>4.选择轴</p>
<p><img src="/static/img/3dddb347e74a6f49d43939abd944da1c.image.png" alt="image.png"></p>
<p>5.设定倍率</p>
<p><img src="/static/img/8c2254fd768d43a4af062a09e01c547a.image.png" alt="image.png"></p>
<p>6.按下确认键（使能）</p>
<p><img src="/static/img/ad85fa398026ad87f606068a1b2a08bd.image.png" alt="image.png"></p>
<p>7.轴移动</p>
<p><img src="/static/img/e3b6c046ca18ca97023336b2e01e3c3c.image.png" alt="image.png"><br>
:::tip{title=&quot;确认键&quot;}<br>
为了能绕机器人移动，必须按下一个确认开关。 smartPAD 上装有三个确认开<br>
关。</p>
<ul>
<li>未按下</li>
<li>中位</li>
<li>完全按下 （警报位置）<br>
:::</li>
</ul>
<h4>程序打开的两种方式</h4>
<p>选定  打开程序后，左上角的红X为灰色，只能在上方R取消选定程序退出<br>
打开   打开程序后，左上角的红X显示，点击红X则关闭程序<br>
运行程序只能用选定   打开只能用于编辑</p>
<h4>如何进入windows界面</h4>
<p>菜单 配置  用户组  专家  KUKA<br>
菜单  投入运行 售后服务 HMI最小化<br>
在Windows界面修改时间</p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/自我提升">自我提升</category>
        </item>
        <item>
            <title><![CDATA[一周学会KUKA之Day1：KUKA机器人概述 ]]></title>
            <link>http://blog.wilsonzy.cn/post/104</link>
            <guid>http://blog.wilsonzy.cn/post/104</guid>
            <pubDate>Tue, 14 Jan 2025 02:08:17 GMT</pubDate>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <!-- more -->
<h4>KUKA公司与机器人产品概览</h4>
<p>了解KUKA的历史及其在自动化领域的地位。<br>
介绍KUKA机器人的不同系列，如KR AGILUS（精密小型机器人）、KR QUANTEC（大型工业机器人）等。<br>
KUKA机器人的应用领域：工业制造、焊接、搬运、喷涂、装配等。</p>
<table>
<thead>
<tr>
<th><strong>机器人类别</strong></th>
<th><strong>型号/系列</strong></th>
<th><strong>特点</strong></th>
<th><strong>应用领域</strong></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>工业机器人</strong></td>
<td>KUKA KR AGILUS</td>
<td>高速、高精度、小型化，适用于快速操作</td>
<td>电子、精密制造、组装</td>
</tr>
<tr>
<td><strong>重载机器人</strong></td>
<td>KUKA KR 1000</td>
<td>高承载能力，适合搬运重物</td>
<td>重工业、汽车制造、物流、自动化仓库</td>
</tr>
<tr>
<td><strong>协作机器人 (Cobot)</strong></td>
<td>KUKA LBR iiwa</td>
<td>轻量化、灵活性强，能与人类协作</td>
<td>医疗、服务、轻工业生产线</td>
</tr>
<tr>
<td><strong>多关节机器人</strong></td>
<td>KUKA KR QUANTEC</td>
<td>多自由度，适用于复杂任务</td>
<td>汽车制造、焊接、喷涂、材料搬运</td>
</tr>
<tr>
<td><strong>Articulated Robot</strong></td>
<td>KUKA KR CYBERTECH</td>
<td>中小型，灵活性好，适用于多种作业</td>
<td>电子、包装、材料处理</td>
</tr>
<tr>
<td><strong>仓储机器人</strong></td>
<td>KUKA KMR iiwa</td>
<td>自主导航，结合机器人与AGV（自动引导车）功能</td>
<td>自动化仓库、物料搬运</td>
</tr>
<tr>
<td><strong>焊接机器人</strong></td>
<td>KUKA KR 16 ARC</td>
<td>专为焊接设计，精度高，适合高强度焊接任务</td>
<td>汽车制造、金属加工、自动化生产线</td>
</tr>
<tr>
<td><strong>搬运机器人</strong></td>
<td>KUKA KR 180</td>
<td>大负载、精确控制，适用于精密搬运任务</td>
<td>物流、制造业、大型装配线</td>
</tr>
<tr>
<td><strong>食品行业机器人</strong></td>
<td>KUKA Robotics Series</td>
<td>专为食品行业定制，具备防水、防尘、卫生等特殊要求</td>
<td>食品加工、包装、分拣</td>
</tr>
<tr>
<td><strong>定制应用机器人</strong></td>
<td>KUKA Custom Solutions</td>
<td>按照客户需求定制，适应特定的生产要求</td>
<td>各类特殊生产、测试和实验</td>
</tr>
</tbody>
</table>
<h4>KUKA机器人硬件组成</h4>
<p><img src="/static/img/44a1abb0dd41c3ed93d051e8269515d8.image.png" alt="image.png"><br>
1 控制器（KRC4）：介绍KUKA控制器的硬件架构、主要组件与功能。<br>
2 机器人本体：机械臂的构成，如关节、驱动系统、传感器等。<br>
3 示教器（Teach Pendant）：介绍KUKA的示教器操作界面，包括按键、显示屏、功能菜单。  末端执行器（End-Effector）：抓手、焊枪、吸盘等，如何选择与更换末端工具。</p>
<p>机器人的机械零部件概览</p>
<p><img src="/static/img/641adecf19c80c54ec04680cae1b3580.image.png" alt="image.png"></p>
<ol>
<li>底座</li>
<li>转盘</li>
<li>平衡配重</li>
<li>连杆臂</li>
<li>手臂</li>
<li>法兰</li>
</ol>
<p>机器人控制系统正视图<br>
<img src="/static/img/e16828c152c86875c2ccfea48eb291c3.image.png" alt="image.png"></p>
<table>
<thead>
<tr>
<th>序号</th>
<th>名称</th>
<th>序号</th>
<th>名称</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>电源滤波器</td>
<td>9</td>
<td>CCU</td>
</tr>
<tr>
<td>2</td>
<td>总开关</td>
<td>10</td>
<td>继电器</td>
</tr>
<tr>
<td>3</td>
<td>CSP</td>
<td>11</td>
<td>转换器</td>
</tr>
<tr>
<td>4</td>
<td>控制系统电脑</td>
<td>12</td>
<td>保险元件</td>
</tr>
<tr>
<td>5</td>
<td>带驱动调节器的驱动电源</td>
<td>13</td>
<td>蓄电池</td>
</tr>
<tr>
<td>6</td>
<td>4至6号轴驱动调节器</td>
<td>14</td>
<td>接线板</td>
</tr>
<tr>
<td>7</td>
<td>1至3号轴驱动调节器</td>
<td>15</td>
<td>外壳</td>
</tr>
<tr>
<td>8</td>
<td>制动滤波器</td>
<td>16</td>
<td>smartPAD</td>
</tr>
</tbody>
</table>
<p>机器人控制系统后视图<br>
<img src="/static/img/3365654a49d884966c93df502e4c34f1.image.png" alt="image.png"></p>
<table>
<thead>
<tr>
<th>序号</th>
<th>名称</th>
<th>序号</th>
<th>名称</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>镇流电阻</td>
<td>2</td>
<td>热交换器</td>
</tr>
<tr>
<td>3</td>
<td>外部风扇</td>
<td>4</td>
<td>低压电源件</td>
</tr>
</tbody>
</table>
<h4>常用术语</h4>
<ul>
<li>CCU  #控制柜</li>
<li>CSP  #控制系统操作面板</li>
<li>EDS  #电子数据存储卡</li>
<li>EMD  #校准机器人的控制装置</li>
<li>KCB  #库卡控制总线</li>
<li>KCP  #可编程式手持操作器</li>
<li>KLI  #库卡线路接口</li>
<li>KOL  #库卡操作面板接口</li>
<li>KPC  #库卡控制系统电脑</li>
<li>KPP  #库卡配电箱</li>
<li>KRL  #库卡机器人编程语言</li>
<li>KSP  #库卡伺服包</li>
<li>OPI  #操作面板接口</li>
<li>PMB  #电源管理板卡</li>
<li>RDC  #分解器数字转换器</li>
<li>SATA #CPU与硬盘的总线</li>
<li>SIB  #连接安全信号的接口板</li>
<li>SION #安全输入/输出点</li>
</ul>
<h4>控制柜类型</h4>
<ul>
<li>常规normal</li>
<li>小型small</li>
<li>紧凑compact</li>
<li>扩展extended</li>
</ul>
<p><strong>机器人必须保护人类的整体利益不受伤害</strong>   第0定律</p>
<p><strong>三大定律</strong></p>
<ul>
<li>1.机器人不得伤害人类</li>
<li>2.除1外，机器人必须服从人类的命令</li>
<li>3.不违背1和2，机器人必须保护自己</li>
</ul>
<p>机器人位置=工具的空间位置<br>
动作类型<br>
速度/加速<br>
等候条件，分支，相关性等信号信息</p>
<p><img src="/static/img/338a6709b02a666ea1088b11b2686c6f.image.png" alt="image.png"><br>
安全性</p>
<ul>
<li>1 隔离性防护装置</li>
<li>2 轴 1、2 和 3 的机械终端止挡或者轴范围限制装置</li>
<li>3 防护门锁</li>
<li>4 紧急停止键</li>
<li>5 示教器制动键</li>
<li>6 KR C4 安全控制</li>
</ul>
<p>:::danger{title=&quot;警告&quot;}<br>
在安全防护装置功能不完善的情况下，机器人系统可能会导致<br>
人员受伤或财产损失。 在安全防护装置被拆下或关闭的情况下，<br>
不允许运行机器人系统。<br>
:::<br>
信息提示</p>
<p><img src="/static/img/63e6d1555f1585757fdc653767338acf.image.png" alt="image.png"></p>
<ul>
<li>确认信息  需操作员确认</li>
<li>状态信息  告知当前状态</li>
<li>提示信息  提供正确操作信息</li>
<li>等待信息  等待状态 信号或时间</li>
<li>对话信息  问询</li>
</ul>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/自我提升">自我提升</category>
        </item>
        <item>
            <title><![CDATA[职场生存手册：如何在职场里保持清醒]]></title>
            <link>http://blog.wilsonzy.cn/post/103</link>
            <guid>http://blog.wilsonzy.cn/post/103</guid>
            <pubDate>Sun, 29 Dec 2024 11:24:06 GMT</pubDate>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <!-- more -->
<p><img src="/static/img/44cbdc5de8be3fd207a22d1304aa6d6a.image.png" alt="image.png"></p>
<ul>
<li><strong>公司最忙的，通常是工资最低的那个人</strong>。</li>
</ul>
<p>你以为忙是因为工作多？不，是因为别人懒得做，干脆把工作全甩给你。</p>
<ul>
<li><strong>老板开始频繁抓考勤，赶紧跑</strong>。</li>
</ul>
<p>一开始不重视考勤，突然开始严查——这就是离职的前兆。</p>
<ul>
<li><strong>能力越强，活越多，领导找你时，最没关系的也是你</strong>。</li>
</ul>
<p>能力强，工作也多，结果领导的态度跟你也差不多。毕竟，领导不喜欢看起来太能干的下属，怕你威胁到他的地位。</p>
<ul>
<li><strong>面试时，吹牛不打草稿，缺钱且无婚育打算</strong>。</li>
</ul>
<p>--面试就一个字：吹。钱不够，家庭负担少，一切都能谈条件，别怕丢面子，能留下来就行。</p>
<ul>
<li><strong>大多数人上班赚不到钱，副业能救你一命</strong>。</li>
</ul>
<p>工作了好几年，结果工资依旧那么少？那就尝试副业，弄点额外收入，副业才是“打工人”的救命稻草。</p>
<p><img src="/static/img/ed79d80a78318f695a798357bf06a9c0.image.png" alt="image.png"></p>
<ul>
<li><strong>职场如戏，全靠演技。</strong></li>
</ul>
<p>不管你多能干，职场就是一个“演技”的角斗场。没人会在意你有多聪明，只看你能演得有多好。</p>
<ul>
<li><strong>最让你心累的，不是工作本身，而是那些不靠谱的人</strong>。</li>
</ul>
<p>你拿着一份工资，做着两个人的活，还要聆听一些傻乎乎的指令，真是让人心累。</p>
<ul>
<li><strong>别让同事知道你能熟练使用Office三件套</strong>。</li>
</ul>
<p>你会的越多，他们就越会把活推给你。低调，做人留一线，做事留一步。</p>
<ul>
<li><strong>能力决定你的下限，领导关系决定你的上限</strong>。</li>
</ul>
<p>在职场中，能力让你不至于被淘汰，关系能决定你能走多远。</p>
<ul>
<li><strong>领导安排的事情，先干起来，结果不重要，态度才是关键</strong>。</li>
</ul>
<p>领导交给你的任务，不管你能不能完成，态度好，至少他会觉得你努力了，给你点面子。</p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/职场进阶">职场进阶</category>
        </item>
        <item>
            <title><![CDATA[年轻人必读：李嘉诚的财富课]]></title>
            <link>http://blog.wilsonzy.cn/post/102</link>
            <guid>http://blog.wilsonzy.cn/post/102</guid>
            <pubDate>Sat, 28 Dec 2024 05:55:27 GMT</pubDate>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <!-- more -->
<pre><code>《李嘉诚讲给年轻人的财富课》是李嘉诚先生基于他数十年的商业经验、财富管理和人生智慧，写给年轻人的一本书。这本书不仅仅讲解如何在物质上积累财富，更深入探讨了如何在精神层面上建立成功的思维模式和生活态度。对于每一个正在迷茫或探索人生道路的年轻人而言，这本书无疑提供了宝贵的指导和启发。
</code></pre>
<p><img src="/static/img/b91fc6aaf916235abf800c1a1875472b.image.png" alt="image.png"></p>
<h3>1. 财富的全面定义</h3>
<p>李嘉诚在书中首先强调了一个观点，那就是“财富”的定义远超金钱的积累。他认为，财富的真正内涵是多方面的，首先是<strong>知识</strong>，然后是<strong>健康</strong>、<strong>家庭</strong>、<strong>友情</strong>、<strong>成就感</strong>等。李嘉诚提到，在他的人生经验中，<strong>金钱是财富的一部分，但它从来不是唯一的目标</strong>，重要的是如何把这些元素结合起来，构建一个更加丰富和充实的生活。</p>
<p><img src="/static/img/bc4e4f85647a9ac7dbe5f6d254fc9afc.image.png" alt="image.png"></p>
<p>他将财富分为<strong>三大块</strong>：物质财富、知识财富和人际财富。在这些领域中，物质财富虽然重要，但并非最重要的。他特别提到：“<strong>当你有健康、有爱、有家人和朋友的支持，再加上不间断的学习，才会形成一个真正丰富的生活</strong>。”这一观点提醒我们，在追求财富的过程中，保持全面的发展更为关键。</p>
<h3>2. 时间管理：财富积累的关键</h3>
<p>在李嘉诚的成功之路上，时间管理占据了至关重要的位置。他常常引用自己在创业初期的经历，指出时间对于每个人的重要性。李嘉诚认为，<strong>最宝贵的财富就是时间</strong>，而一旦时间过去，就永远无法回头。年轻人最容易忽视这一点，总是沉浸在“短期欲望”的驱动中，而忽视了长远的规划和耐心的积累。</p>
<p>李嘉诚的经验告诉我们，要学会对时间进行合理分配。例如，他每天早上五点起床，首先进行锻炼，然后用两小时的时间阅读，不论多忙，他都从不忽略这个习惯。他认为，<strong>阅读和思考</strong>是每一个成功人士的基础，而这一切都需要大量的时间投入。</p>
<p><img src="/static/img/dd29c1bf27ea5b9c31453f9ef32405d1.image.png" alt="image.png"></p>
<p>他还提到，<strong>复利的力量</strong>不仅仅适用于金融投资，时间积累同样适用。例如，若在20岁开始坚持每天读书一小时，到40岁时，所积累的知识远超过那些没有早早规划的人。李嘉诚强调，“<strong>年轻时的努力决定了你未来的成就</strong>。”</p>
<h3>3. 理财与投资：独立思考与冷静判断</h3>
<p>作为一位商业巨头，李嘉诚的投资理念充满了深刻的洞察力。在书中，他详细分享了自己在投资决策中的原则和思维方式。他认为，<strong>投资不仅仅是金钱上的投入，更是对未来的智慧投入</strong>。年轻人往往容易被眼前的机会所吸引，盲目跟风，李嘉诚则提倡要做有<strong>独立判断</strong>的投资者。</p>
<p><img src="/static/img/9c1d810b504c6d2c4e34ccb8ed998cd4.image.png" alt="image.png"></p>
<p>李嘉诚强调，投资的最大风险不是亏损，而是<strong>无知</strong>。他提到：“在投资前，一定要做好充分的研究和准备工作，要了解市场的需求，预判未来的趋势。”</p>
<p>他举了一个例子：他早年投资房地产时，并不是依赖市场的短期波动，而是基于长期的城市发展规划、人口流动等因素进行深思熟虑的决策。这种对市场变化的敏锐洞察力，以及耐心持有的策略，让他在很多领域都获得了巨大的成功。</p>
<h3>4. 做人做事的原则：诚信与稳健</h3>
<p>李嘉诚在书中多次提到，<strong>诚信是成功的基石</strong>。他说：“诚信是一种无形的财富，它比任何物质财富都更加重要。<strong>没有诚信，再多的金钱、地位都不值得追求</strong>。”他回忆自己早年创业时，虽处于竞争激烈的环境中，但他始终坚持“诚实待人”的原则，这为他积累了强大的口碑，也为他后来的商业拓展打下了稳固的基础。</p>
<p><img src="/static/img/37b5307c926871f0bc0b775d9008e70b.image.png" alt="image.png"></p>
<p>他还强调，<strong>做事要脚踏实地，稳扎稳打</strong>。许多年轻人渴望通过快速成功获取回报，但李嘉诚认为，<strong>成功的真正秘诀是通过不断积累和不断进步，逐渐突破</strong>。无论做什么事，都要从基础做起，注重细节，永远不能停下脚步。尤其是在遇到挫折时，李嘉诚坚持认为，<strong>不抛弃、不放弃、从失败中汲取经验才是长期成功的关键</strong>。</p>
<h3>5. 如何面对失败和挫折</h3>
<p>每个成功人士的背后，都少不了失败和挫折的经历。李嘉诚也不例外。在书中，他回顾了自己曾经的失败，强调<strong>失败并不可怕，关键是如何从失败中反思和学习</strong>。他提到，<strong>失败是成功的垫脚石，没有失败就没有经验积累，没有经验积累也无法实现真正的成功</strong>。</p>
<p><img src="/static/img/fc43d5cc368652aa29bb60696e71f439.image.png" alt="image.png"></p>
<p>李嘉诚分享了自己的一段创业历程：在他早期的商业尝试中，曾经因为资金不足而差点破产，但他并没有因此放弃，而是通过不断地调整策略、找到合适的合作伙伴，最终实现了逆袭。他认为，失败的最大价值就是让你变得更加聪明、更加坚定。</p>
<h3>6. 持续学习与成长：不断提升自我</h3>
<p>李嘉诚一再强调，“<strong>知识就是财富</strong>”。他认为，只有通过不断学习，才能在复杂多变的世界中保持竞争力。在他看来，<strong>终身学习</strong>是成功的必要条件。他自己每天都花费大量时间阅读各种书籍和研究报告，以保持对世界变化的敏锐洞察力和对新知识的掌握。</p>
<p><img src="/static/img/d4ecdb20f89f4c208687772a1b56b670.image.png" alt="image.png"></p>
<p>他特别建议年轻人，要学会不断积累知识，同时具备<strong>创新思维</strong>。只有具备<strong>创新精神</strong>，才能在未来的竞争中脱颖而出。李嘉诚提到，虽然他是企业家，但他对科技、社会变化、国际形势等各方面的知识都有广泛的涉猎，这种跨领域的知识让他能够做出更加前瞻性的决策。</p>
<hr>
<p>《李嘉诚讲给年轻人的财富课》不仅仅是一本关于财富管理的书，它深入探讨了如何看待人生、如何通过时间积累财富、如何在复杂的市场中找到自己的定位等问题。李嘉诚的财富观、人生观和事业哲学为年轻人提供了宝贵的参考。</p>
<p>:::tip{title=&quot;提示&quot;}<br>
对于年轻人而言，这本书不仅仅是一个商业指南，它更是一本关于如何活得更好、如何成功的心灵宝典。李嘉诚通过自己的一生经验告诉我们，<strong>成功不靠运气，而靠不断的努力、学习、诚信与勇气。真正的财富来自内心的坚韧与远见，而不是眼前的短期利益</strong>。</p>
<p>如果你对李嘉诚的成功经验和人生哲理感兴趣，这本书非常值得一读。通过他的分享，可以更好地理解成功的背后需要的智慧、毅力与耐心。<br>
:::</p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/书籍阅读">书籍阅读</category>
        </item>
        <item>
            <title><![CDATA[30条职场必学技巧：从专注到沟通，全面提升工作效率]]></title>
            <link>http://blog.wilsonzy.cn/post/101</link>
            <guid>http://blog.wilsonzy.cn/post/101</guid>
            <pubDate>Sat, 28 Dec 2024 05:17:39 GMT</pubDate>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <!-- more -->
<p><strong>1. 保持桌面整洁：清空不必要的物品。</strong></p>
<p>只保留工作必需品，保持清爽，专注当前任务。</p>
<p><strong>2. 养成物品归位习惯：减少找寻时间。</strong></p>
<p>每次用完物品后，立即放回原位。</p>
<p><strong>3. 制定任务清单：逐条执行，提升效率。</strong></p>
<p>列出当天任务，逐一完成，成就感十足。</p>
<p><img src="/static/img/87bf58a1acd59aaeaa91a1bc728e53bf.image.png" alt="image.png"></p>
<p><strong>4. 优先排序任务：紧急且重要的先做。</strong></p>
<p>根据任务的优先级排序，先做最紧迫的重要事务。</p>
<p><strong>5. 集中管理信息：保护重要账号和密码。</strong></p>
<p>使用密码管理工具，确保信息安全。</p>
<p><strong>6. 小事用钱解决：避免浪费时间。</strong></p>
<p>对于可花钱解决的小问题，尽量避免亲力亲为。</p>
<p><strong>7. 记录反思：总结经验，避免重复错误。</strong></p>
<p>定期记录工作过程中的小插曲，分析反思。</p>
<p><strong>8. 保持灵感笔记：创意瞬间记录，随时捕捉。</strong></p>
<p>将灵感随时记录下来，避免忘记。</p>
<p><img src="/static/img/194bba1aa882381c585fba1c3dafa58f.image.png" alt="image.png"></p>
<p><strong>9. 设定专注时间段：避免干扰，进入工作状态。</strong></p>
<p>关闭手机通知，减少干扰，集中精力。</p>
<p><strong>10. 精简网页标签：减少浏览干扰。</strong></p>
<p>集中在一个页面上，避免分心。</p>
<p><strong>11. 一事一闭：每次集中精力完成一项任务。</strong></p>
<p>避免同时处理多个任务，逐一解决。</p>
<p><strong>12. 专业距离：与同事保持健康的关系边界。</strong></p>
<p>不参与办公室八卦，保持职场专业。</p>
<p><strong>13. 积极沟通：使用正能量提升团队氛围。</strong></p>
<p>尽量避免负面话题，传递积极的信息。</p>
<p><img src="/static/img/329d09a8d9b8c30150f1e4fdfde7fb2c.image.png" alt="image.png"></p>
<p><strong>14. 定期复盘：每月总结工作，调整方法。</strong></p>
<p>通过定期回顾，分析哪些工作做得好，哪些需要改进。</p>
<p><strong>15. 快速进入工作状态：设定启动仪式。</strong></p>
<p>在开始工作时设定固定的流程，帮助自己快速进入状态。</p>
<p><strong>16. 上班途中规划：提前明确当天任务。</strong></p>
<p>利用上下班时间计划好当天要做的事情。</p>
<p><strong>17. 勇敢说NO：保护时间，拒绝无关紧要的请求。</strong></p>
<p>对于不必要的工作任务，学会拒绝。</p>
<p><strong>18. 定期进度汇报：主动与领导沟通，解决问题。</strong></p>
<p>定期向上级汇报工作进展，主动请教和寻求反馈。</p>
<p><strong>19. 持续自我提升：学习新技能，保持竞争力。</strong></p>
<p>通过培训、阅读等方式，不断提升自己的能力。</p>
<p><img src="/static/img/42106e9ef833ac4ac584ca67a302a9e0.image.png" alt="image.png"></p>
<p><strong>20. 精简目标：集中精力攻克1-2个核心目标。</strong></p>
<p>避免过于分散精力，专注重要任务。</p>
<p><strong>21. 高效开会：提前准备，聚焦关键问题。</strong></p>
<p>减少无关讨论，会议时间内高效决策。</p>
<p><strong>22. 情绪管理：保持冷静，调整情绪应对挑战。</strong></p>
<p>学会控制情绪，避免压力干扰工作表现。</p>
<p><strong>23. 明确目标：确保任务目标清晰，避免模糊。</strong></p>
<p>每项任务前设定清晰的目标和标准。</p>
<p><strong>24. 有效休息：合理安排工作与休息时间。</strong></p>
<p>采用番茄工作法，工作一段时间后适当休息。</p>
<p><strong>25. 建立专业网络：与同行互相学习。</strong></p>
<p>通过参加行业活动、线上社区等方式拓展专业网络。</p>
<p><strong>26. 保持好奇心：探索新技术，提升工作效率。</strong></p>
<p>不断学习新知识，保持对工作的好奇心。</p>
<p><img src="/static/img/202d5580d71e2e88359abfae8b38b3e0.image.png" alt="image.png"></p>
<p><strong>27. 清晰沟通：避免误解，确保信息准确。</strong></p>
<p>沟通时简洁明了，避免信息传递不清。</p>
<p><strong>28. 邮箱整理：定期清理，减少邮件干扰。</strong></p>
<p>定期清理邮箱，减少无关邮件，保持整洁。</p>
<p><strong>29. 优先级排序：根据重要性和紧急性决定任务顺序。</strong></p>
<p>合理安排时间，确保优先处理最紧急和最重要的事务。</p>
<p><strong>30. 保持耐心：坚持做长期项目，逐步实现目标。</strong></p>
<p>对于长期任务，要有耐心，不急于求成。</p>
<p><img src="/static/img/51f296569508fb4bd4d398da8df83b24.image.png" alt="image.png"></p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/职场进阶">职场进阶</category>
        </item>
        <item>
            <title><![CDATA[时间管理的秘密：让你的每一天都更有价值]]></title>
            <link>http://blog.wilsonzy.cn/post/100</link>
            <guid>http://blog.wilsonzy.cn/post/100</guid>
            <pubDate>Sat, 28 Dec 2024 04:35:23 GMT</pubDate>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <!-- more -->
<pre><code>时间是我们最宝贵的资源，它是公平的，每个人每天都只有24小时。然而，很多人却因为缺乏有效的时间管理而感到忙碌却低效，甚至错过了很多珍贵的机会。实际上，成功的人并不比我们拥有更多的时间，他们唯一的不同，可能就在于如何管理和利用时间。  
</code></pre>
<p>:::tip{title=&quot;思考&quot;}<br>
那么，如何才能让每一天都变得更有价值呢？<br>
:::<br>
<img src="/static/img/ca4f55d39c9d6c1ab18ff73192f6bd8b.image.png" alt="image.png"></p>
<h3>1、设定明确的目标，清晰优先级</h3>
<p>时间管理的核心在于目标的设定和任务的优先级划分。如果没有清晰的目标，时间的流逝往往就像河流一样匆匆而过，什么都没留下。因此，设定明确的目标是高效时间管理的第一步。这个目标应该是具体、可量化和具有可操作性的。</p>
<pre><code>例如：“在一个月内完成书籍的阅读”要比“多读书”具体得多。
</code></pre>
<p>此外，优先级的排序也至关重要。通常情况下，我们都有大量的任务需要完成，但并非每一项任务都同样重要。具体来说，将任务分为四类：</p>
<ul>
<li>紧急且重要：立刻做</li>
<li>重要但不紧急：安排时间做</li>
<li>紧急但不重要：委派他人做</li>
<li>既不紧急也不重要：尽量避免做</li>
</ul>
<p>通过这种方式，你能够将时间集中在最具价值和影响力的任务上，避免无关紧要的事拖延你的进度。</p>
<h3>2、掌控时间的碎片化</h3>
<p>现代社会，信息爆炸，生活节奏加快，每天都会有大量的碎片时间。这些时间往往被浪费掉了，因为我们没有意识到这些碎片化的时间其实可以充分利用。</p>
<pre><code>例如，等车、排队、午休时短暂的15分钟，可能会觉得无所事事，但如果你能利用这些碎片时间来阅读一章书、回复工作邮件或思考一些灵感，那么这些零碎的时间就能汇聚成可观的成果。
</code></pre>
<p><img src="/static/img/c7cb7faf30fd4c1391b7f1b00ab5292e.image.png" alt="image.png"></p>
<p>学会利用碎片时间，可以让你在不知不觉中提升工作效率和自我提升。例如，<strong>番茄工作法</strong>就是将工作时间分割成短时间段，通常是25分钟专注工作，接着休息5分钟。这种方法能帮助我们集中精力，避免疲劳过度，同时提高工作效率。</p>
<h3>3、避免拖延，设立执行的“死线”</h3>
<p>拖延症是许多人时间管理中的“顽疾”。往往在面对一项任务时，我们会不自觉地将其推迟到最后一刻，直到压力迫使我们行动。为了打破这种恶性循环，可以采取以下几种方法来避免拖延。</p>
<p>首先，为每一项任务设立<strong>具体的截止日期</strong>，并且要有相对明确的时间框架。把任务拆解成更小的步骤，每完成一个小步骤，给自己一点奖励。这样，你就能一步步推进，而不是被庞大的任务所压倒。</p>
<p><img src="/static/img/b222d01e4123a870a238613948ca5984.image.png" alt="image.png"></p>
<p>此外，将任务和责任<strong>公开化</strong>也有助于消除拖延。告诉别人你什么时候完成某个任务，或者在社交平台上更新进展，这样的公开承诺能带来外界的压力，帮助自己更好地履行承诺。</p>
<h3>4、学会“说不”，减少无效社交和干扰</h3>
<p>现代生活中，我们总是处于各种社交和信息流的轰炸之下。工作中的会议、朋友的聚会、社交媒体的推送等等，都会消耗我们大量的时间和精力。而很多时候，这些活动并不对我们的长期目标有实质性帮助，甚至可能分散我们的注意力。</p>
<p><img src="/static/img/7a82a75bc5a5104c67642bf04cfdae21.image.png" alt="image.png"></p>
<p>因此，学会说“不”是有效时间管理的又一秘密。<strong>“说不”并不意味着拒绝一切，而是要有选择性地参与那些能够促进个人成长、工作进展或社交价值的活动</strong>。对于那些无关紧要的干扰，果断地拒绝，可以给自己留下更多的时间去专注真正重要的事情。</p>
<h3>5、做好时间审计，持续优化</h3>
<p>时间管理并非一成不变的过程。随着生活、工作和个人目标的变化，我们的时间管理策略也需要不断调整和优化。因此，定期进行时间审计是一项重要的习惯。</p>
<p><img src="/static/img/9c692f0c4a4e6509a8195c0353a80c08.image.png" alt="image.png"></p>
<p>每周或每月，花些时间回顾自己的时间使用情况，看看哪些活动真正帮助了你实现目标，哪些活动浪费了大量的时间却没有任何收获。通过这样的审视，你可以发现自己的时间管理中存在的问题，及时调整，避免重复犯错。</p>
<h3>6、保持身心健康，保持高效状态</h3>
<p>高效的时间管理不仅仅是合理安排工作和任务的顺序，还包括保持良好的身心状态。健康的身体和积极的心态是高效工作的基础。确保每天有足够的睡眠、合理的饮食和适当的运动，能够帮助你保持充沛的精力和清晰的思维，从而更好地完成工作任务。</p>
<p>冥想、深呼吸和放松练习也是提升工作效率的好方法。定期进行这些活动，能够让你保持心境平和，面对工作时更加冷静和专注。</p>
<p><img src="/static/img/cd9b36dbdab76076216f984fe5f029e6.image.png" alt="image.png"></p>
<hr>
<p>时间管理不仅是提高工作效率的工具，更是提升生活质量的关键。当我们学会如何合理安排时间，集中精力在真正重要的事情上，我们的每一天都会变得更有价值。通过设定明确的目标、优先级划分、消除拖延、学会说“不”、定期审视时间使用以及保持身心健康，我们可以有效地掌控自己的时间，真正做到“让每一天都更有价值”。</p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/自我提升">自我提升</category>
        </item>
        <item>
            <title><![CDATA[迈向健康人生：从良好习惯开始]]></title>
            <link>http://blog.wilsonzy.cn/post/99</link>
            <guid>http://blog.wilsonzy.cn/post/99</guid>
            <pubDate>Sat, 28 Dec 2024 03:09:50 GMT</pubDate>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <!-- more -->
<p>在现代社会，随着生活节奏的加快与工作压力的增加，越来越多的人忽视了自身健康。长时间的不规律作息、不良饮食习惯以及缺乏运动，容易导致身体出现各种问题。事实上，<strong>养成健康的生活习惯</strong>，不仅有助于提高身体健康，还能提升精神状态和生活质量。因此，<strong>建立健康的生活习惯</strong>成为我们每个人应当重视的目标。</p>
<h3>1. 均衡饮食，科学营养</h3>
<p>良好的饮食习惯是健康生活的基础。现代人常因工作繁忙或外卖便利而忽视饮食的健康。然而，长期不良饮食可能导致肥胖、糖尿病、高血压等一系列健康问题。为了确保身体获得所需的营养，应该做到以下几点：</p>
<ul>
<li><strong>多样化饮食</strong>：确保摄入各类食物，保证蛋白质、维生素、矿物质、膳食纤维的平衡。每天保证一定量的蔬菜水果、全谷物、优质蛋白（如鱼、瘦肉、豆类）等。</li>
<li><strong>控制油盐糖摄入</strong>：减少高脂肪、高糖、高盐的食物摄入，避免加工食品、油炸食品及含糖饮料，保持饮食清淡。</li>
<li><strong>定时就餐</strong>：养成规律的饮食习惯，避免暴饮暴食，尽量做到定时进餐，以帮助胃肠道的正常消化。</li>
</ul>
<p><img src="/static/img/88a5995d74aa516a79d97de448df7883.image.png" alt="image.png"></p>
<h3>2. 保持规律作息，确保充足睡眠</h3>
<p><strong>睡眠对健康至关重要</strong>，良好的睡眠可以提高免疫力、修复身体、增强记忆力。相反，睡眠不足则可能导致精神疲惫、免疫力下降，甚至增加慢性病的风险。因此，合理的作息时间是至关重要的：</p>
<ul>
<li><strong>定时作息</strong>：每天尽量在同一时间入睡和起床，保持作息规律，这样有助于生物钟的正常运转。</li>
<li><strong>保证睡眠质量</strong>：成年人每天需要7-9小时的睡眠时间。尽量避免临睡前使用电子设备，创造一个安静、黑暗和舒适的睡眠环境，帮助自己进入深度睡眠。</li>
<li><strong>避免过度劳累</strong>：如果工作压力较大，应学会放松，避免加班到深夜，避免身体过度疲劳。</li>
</ul>
<p><img src="/static/img/a426976dc70bb47e2035147e067ccfc8.image.png" alt="image.png"></p>
<h3>3. 定期运动，保持身体活力</h3>
<p>运动是保持身体健康的重要手段，它能增强体力、改善心肺功能、调节体重、缓解压力等。科学研究表明，规律的体育锻炼不仅有助于预防心血管疾病、糖尿病等慢性病，还能提高精神状态，保持积极的生活态度。</p>
<ul>
<li><strong>选择适合的运动方式</strong>：可以选择快走、跑步、游泳、骑行、瑜伽等不同类型的运动，根据自己的兴趣和身体状况做出选择。</li>
<li><strong>每周至少150分钟中等强度运动</strong>：如每天30分钟的散步或慢跑，长期坚持可以明显提高身体的耐力和免疫力。</li>
<li><strong>保持运动的多样性</strong>：适当的交替运动（如有氧运动和力量训练交替）可以提高身体的各项能力，避免单一运动方式带来的身体疲劳和过度负担。</li>
</ul>
<p><img src="/static/img/98a3234ef7f388a8abc4874ab9f2fb61.image.png" alt="image.png"></p>
<h3>4. 保持积极心态，减轻压力</h3>
<p>现代人普遍面临着生活、工作中的各种压力，长期的压力积累可能导致焦虑、抑郁等心理问题。因此，保持积极的心态，学会调节情绪，是健康生活的重要组成部分：</p>
<ul>
<li><strong>学会放松和冥想</strong>：每天抽出几分钟进行深呼吸练习或冥想，帮助自己放松身体和心情。</li>
<li><strong>培养兴趣爱好</strong>：与朋友或家人交流，参加自己喜欢的活动（如听音乐、阅读、旅行等），以此来转移压力，提升幸福感。</li>
<li><strong>正面思维</strong>：学会换位思考，面对困难时保持积极的态度，减少消极情绪的影响。</li>
</ul>
<p><img src="/static/img/9a9fe202f51d0173b184da2f762f21b4.image.png" alt="image.png"></p>
<h3>5. 保持良好的个人卫生习惯</h3>
<p>良好的个人卫生习惯不仅有助于预防疾病，还能提升个人形象。保持个人卫生的同时，也能营造一个干净舒适的生活环境，从而提升生活质量。</p>
<ul>
<li><strong>勤洗手、勤换衣</strong>：外出回家后要及时洗手，避免细菌和病毒传播。每天更换干净的衣物，保持皮肤清洁。</li>
<li><strong>保持居住环境整洁</strong>：定期打扫卫生，清理房间，确保居住环境干净、通风良好。</li>
<li><strong>口腔健康</strong>：每天早晚刷牙，保持口腔卫生，定期去牙医检查，避免牙齿问题。</li>
</ul>
<p><img src="/static/img/72eced709fc64ed35bf890d7cc811da3.image.png" alt="image.png"></p>
<h3>6. 戒烟限酒，远离有害物质</h3>
<p>烟草和酒精是许多疾病的罪魁祸首，长期吸烟和酗酒不仅对身体器官造成损害，还可能引发癌症、心脏病、肝脏病等重大疾病。因此，戒烟限酒是保持健康生活的重要措施。</p>
<ul>
<li><strong>戒烟</strong>：如果你吸烟，尽早戒烟。吸烟不仅伤害自己，还会危害到周围人。逐渐减少吸烟量，寻求专业帮助，戒烟是对自己健康的最好投资。</li>
</ul>
<p><img src="/static/img/80c7e133d211f4076d855ed29ff960c9.image.png" alt="image.png"></p>
<ul>
<li><strong>限酒</strong>：如果喜欢喝酒，要注意适量。过度饮酒对肝脏、心血管等器官有很大的负面影响，最好控制每周的酒精摄入量。</li>
</ul>
<p><img src="/static/img/e4beed73523a8b11e8717b13d27b4c88.image.png" alt="image.png"></p>
<h3>7. 定期体检，早发现早治疗</h3>
<h3></h3>
<p>健康体检是发现潜在健康问题、预防疾病的重要方式。通过定期体检，可以早期发现一些没有明显症状的疾病，从而及时治疗，避免病情恶化。</p>
<ul>
<li><strong>定期检查</strong>：每年进行一次健康体检，特别是对于高危人群，如有家族史或生活习惯不良的人群，应更加重视体检。</li>
<li><strong>关注基本指标</strong>：如血压、血糖、血脂等，是预防慢性病的重要指标，定期检查，保持健康水平。</li>
</ul>
<p><img src="/static/img/640449136050ac54c63301fde6808cd9.image.png" alt="image.png"></p>
<p>总结<br>
健康的生活习惯是保持身体和心理健康的重要基石。通过合理饮食、规律作息、适量运动、积极心态、良好的个人卫生、戒烟限酒及定期体检等方式，我们可以有效提高生活质量，预防疾病，拥有更加健康的体魄与更加充实的人生。<strong>健康的生活习惯</strong>不是一蹴而就的，它需要我们日积月累地养成和坚持。通过小小的改变，你会发现，健康生活带来的好处远远超出你的想象，成就一个更加美好的未来。</p>
<p><img src="/static/img/33f629157e34568c51a7073df61d3cb7.image.png" alt="image.png"></p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/自我提升">自我提升</category>
        </item>
        <item>
            <title><![CDATA[《小狗钱钱》中的理财法则：简单而深刻的财富之道]]></title>
            <link>http://blog.wilsonzy.cn/post/98</link>
            <guid>http://blog.wilsonzy.cn/post/98</guid>
            <pubDate>Sun, 15 Dec 2024 11:18:17 GMT</pubDate>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <!-- more -->
<p><img src="/static/img/da107b2b2ef595d2fa314655aa253a08.image.png" alt="image.png"></p>
<p>《小狗钱钱》是由德国作家博多·舍费尔（Bodo Schäfer）所著的儿童理财教育书籍。书中通过讲述小女孩吉娅和她的小狗钱钱之间的对话，向读者传授了关于理财的基本概念与理念，适合青少年及成人学习如何管理金钱。以下是一些书中的摘抄，希望能帮助你更好地理解这本书的内容和智慧：</p>
<ol>
<li>关于理财的第一步：支付自己<br>
<strong>“你应该把每个月收入的10%存起来，并且把它当作你自己的财富。”</strong></li>
</ol>
<p>这句话表达了理财的一个基本原则：首先要为自己储蓄。这种方式能够帮助我们养成储蓄的习惯，并让财富逐步增长。</p>
<ol start="2">
<li>财富积累的关键<br>
<strong>“财富不是通过你赚多少钱来决定的，而是通过你存了多少钱，和你怎样管理这些钱。”</strong></li>
</ol>
<p>这句话揭示了财富增长的一个关键要素：不是单纯的收入高低，而是如何有效地管理和储蓄你的财富。</p>
<ol start="3">
<li>关于投资<br>
<strong>“钱是有生命的，它会自己去工作。如果你让它为你工作，它会帮你赚更多的钱。”</strong></li>
</ol>
<p>通过这句话，书中阐述了投资的基本理念——让钱为你工作，即通过合理的投资来使财富增值。这样的观点可以帮助年轻人从小建立起投资意识。</p>
<ol start="4">
<li>理财与梦想<br>
<strong>“钱是你实现梦想的工具，但它本身不是目标。你需要明确你的目标，并让钱帮助你实现它们。”</strong></li>
</ol>
<p>这里强调了理财的最终目的是帮助我们实现人生的目标和梦想，而不仅仅是为了积累财富。理财是为了更好地生活，而不仅是为了拥有更多的金钱。</p>
<ol start="5">
<li>关于预算管理<br>
<strong>“每个月，你都要花时间记录你所花的钱，知道钱都去了哪里。这是保持控制的关键。”</strong></li>
</ol>
<p>理财不仅是储蓄和投资，还包括精确的预算管理。这句话提醒读者，理财的第一步是清楚自己每个月的支出，才能做到合理分配。</p>
<ol start="6">
<li>风险意识<br>
<strong>“没有人可以避免所有的风险，但你可以通过分散投资来降低风险。”</strong></li>
</ol>
<p>理财的过程中，风险是无法完全避免的，但我们可以通过分散投资来降低潜在的风险，这也是一种理智的理财策略。</p>
<ol start="7">
<li>时间的重要性<br>
<strong>“时间是最强大的力量，它会帮助你让钱增值。”</strong></li>
</ol>
<p>书中多次提到，时间是理财中的重要因素，越早开始储蓄和投资，财富增值的潜力就越大。</p>
<ol start="8">
<li>财富的源泉：持久努力<br>
<strong>“财富并不是一蹴而就的，它是日复一日、年复一年的积累。”</strong></li>
</ol>
<p>这句话强调了财富的增长是一个长期过程，通过持续的努力和合理的规划，每一小步都能积累成巨大的财富。这提醒我们，要有耐心，不断坚持并优化自己的理财行为。</p>
<ol start="9">
<li>学会让钱“工作”<br>
<strong>“你可以通过增加财富的生产力来让自己的生活变得更好。”</strong></li>
</ol>
<p>这意味着利用资金创造收益，比如通过投资、开源、提高技能等方式让钱变得更有价值。理财不仅是节省，而是要通过聪明的手段让财富自我增值。</p>
<ol start="10">
<li>理性消费<br>
<strong>“消费不是你不可以做的事，而是你要清楚自己消费的每一分钱背后的价值。”</strong></li>
</ol>
<p>这条理财原则提醒我们要学会理性消费，每次消费都要对自己的需求做出思考，避免冲动消费，确保花每一分钱都能带来相应的回报。</p>
<ol start="11">
<li>“债务是敌人”<br>
<strong>“负债不是财富，它会像绳子一样捆住你。”</strong></li>
</ol>
<p>这句话强调了避免过度负债的重要性。负债虽然在短期内可能带来消费的自由，但长期来看，它会限制财务灵活性，并增加经济压力。保持良好的信用和财务状况，避免债务危机，是理财中的基本原则。</p>
<ol start="12">
<li>财务自由的第一步：规划<br>
<strong>“没有计划的目标就像没有指南针的船只，永远也到不了目的地。”</strong></li>
</ol>
<p>这句话提醒我们，理财规划是实现财务自由的第一步。通过设定清晰的目标，制定切实可行的计划，我们才能一步一步朝着理想的财务状态前进。</p>
<ol start="13">
<li>价值投资：选择优质资产<br>
<strong>“投资并不等于赌博，理智的投资就是买入那些能带来长期回报的优质资产。”</strong></li>
</ol>
<p>这里强调了价值投资的重要性。与短期投机不同，理智的投资者会选择那些具有长期增值潜力的资产，避免盲目跟风。</p>
<ol start="14">
<li>从失败中学习<br>
<strong>“失败并不意味着结束，它是通向成功的必经之路。”</strong></li>
</ol>
<p>这句话提醒我们，理财之路并非一帆风顺，从失败中吸取经验教训，不断调整策略，才能在财富管理上取得最终的成功。每次失败都是宝贵的学习机会。</p>
<ol start="15">
<li>自动化理财<br>
<strong>“将理财变得自动化，可以减少很多不必要的烦恼。”</strong></li>
</ol>
<p>这条理念强调了理财自动化的重要性。通过自动化储蓄、定期投资等手段，减少人为干预，让理财变得更加简单和高效。</p>
<ol start="16">
<li>活在当下，不忘未来<br>
<strong>“享受今天，但也要为明天做好准备。”</strong></li>
</ol>
<p>这句话强调了平衡当下和未来的需求。理财不仅是为了享受当下的生活，还要为未来的不可预见之事做好准备，做到财务上的平衡和稳健。</p>
<p>这些摘抄体现了《小狗钱钱》中的理财智慧。通过简单易懂的故事和生动的比喻，博多·舍费尔向我们介绍了如何通过理财来实现财富的积累和生活的目标。这些理念无论是对于儿童还是成年人都具有很高的教育价值。</p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/书籍阅读">书籍阅读</category>
        </item>
        <item>
            <title><![CDATA[智慧理财：从《小狗钱钱》汲取的财富智慧]]></title>
            <link>http://blog.wilsonzy.cn/post/97</link>
            <guid>http://blog.wilsonzy.cn/post/97</guid>
            <pubDate>Sun, 15 Dec 2024 11:13:35 GMT</pubDate>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <!-- more -->
<p><img src="/static/img/da107b2b2ef595d2fa314655aa253a08.image.png" alt="image.png"><br>
《小狗钱钱》是一本通过轻松故事情节传授理财知识的书。书中的主角吉娅是一个普通的女孩，她面临家庭的财务困境，而通过遇到一只名叫“钱钱”的神奇小狗，她逐渐获得了理财智慧。这本书不仅适合青少年，也适合任何对理财感兴趣的成年人，它用简单明了的方式讲解了复杂的理财理念，启发读者从小培养理财习惯，理解财富的真正意义，并通过正确的理财规划实现财务自由。</p>
<h1>一、从小培养理财意识</h1>
<p>吉娅的父母因为不懂理财，一直在为家庭经济问题而烦恼，家庭状况一度陷入困境。正当吉娅为此苦恼时，神奇的小狗“钱钱”出现了，带领她进入了一个全新的理财世界。</p>
<p>书中的“钱钱”并不是简单地给出金钱的使用方法，而是通过一系列生动有趣的对话和实用的理财原则，帮助吉娅逐渐掌握财富管理的核心理念。吉娅通过“钱钱”学到了如何储蓄、如何做预算、如何判断消费是否值得、以及如何投资等理财技巧。在故事中，吉娅渐渐明白了理财不仅仅是为了节省开支，更是为了积累财富，培养长远眼光。</p>
<p>具体来说，“钱钱”教给吉娅的第一条重要原则是 <strong>“支付自己10%”</strong>。这个原则是说，每次获得收入时，首先要把10%的收入存下来，无论收入多少。这一简单的存钱习惯，可以帮助人们逐步积累财富，同时也能培养长期的财务规划能力。通过反复的练习和实践，吉娅最终养成了按时存钱的习惯，建立了初步的财务自由意识。</p>
<p>此外，书中还讲述了其他一些常见的理财原则，如 <strong>“避免过度消费”和“明智地投资”</strong>。例如，在消费时，吉娅学会了避免无意义的购物和不必要的浪费，而是专注于真正有价值的物品和体验。而在投资方面，“钱钱”则教她如何根据个人的目标和风险承受能力做出合适的投资决策。</p>
<p><img src="/static/img/ad81791cda26f83dc9cf951c7c87d1a2.image.png" alt="image.png"></p>
<h1>二、树立正确的金钱观</h1>
<p>《小狗钱钱》通过让吉娅与“钱钱”的对话，帮助读者树立了正确的金钱观。书中的金钱并非是终极目的，而是实现个人目标和理想生活的工具。金钱的中立性是一个核心概念，钱本身并不善恶，关键在于我们如何使用它。</p>
<p>吉娅的父母一直认为“钱是万恶之源”，因此对金钱有一种排斥感，而这种不健康的观念让家庭陷入了经济困境。而通过“钱钱”的教导，吉娅逐渐明白，<strong>金钱可以用来帮助自己过上更好的生活，甚至可以帮助他人</strong>。她学会了合理分配金钱，不仅为自己留存储蓄，也为未来投资创造条件，最终实现了经济上的独立与自由。</p>
<p>这种正确的金钱观也提醒我们，<strong>财富的积累并不是生活的全部，生活中更重要的是如何用财富实现个人的理想和目标</strong>。金钱并不能带来永久的幸福，而是应该用来创造更好的生活质量，帮助他人，和亲朋好友共同分享幸福。</p>
<p><img src="/static/img/c4d590ad7a01236d31215efa8b76f381.image.png" alt="image.png"></p>
<h1>三、财富自由与长期规划</h1>
<p>《小狗钱钱》特别强调了财富自由的概念。吉娅在“钱钱”的帮助下，逐渐领悟到，财富自由并非一夜之间能够实现，而是通过长期的积累和规划。书中强调 <strong>“时间是投资中最重要的因素”</strong>，如果能够在年轻时就开始积累财富并合理投资，那么未来就能够享有更多的选择自由。</p>
<p>书中通过具体的例子让吉娅理解了如何将储蓄投入到合适的投资渠道中，实现财富的增值。例如，吉娅通过购买稳定收益的基金和股票，慢慢积累了可观的财富。与此同时，“钱钱”还教她如何分散风险，避免将所有资金集中投入一个领域，避免因为市场波动而带来的巨大损失。</p>
<p>在财务自由的过程中，<strong>长期规划</strong>显得尤为重要。吉娅在“钱钱”的指导下学会了设定短期和长期目标，并逐步按计划去执行。而这也对读者尤其是成年人提出了挑战：<strong>我们每个人都应该根据自己的实际情况，设定符合自己生活目标的财务规划，做到长期有计划地投资和储蓄。只有这样，我们才能逐步实现经济上的独立，从而拥有更多的时间和自由去追求自己真正想要的生活。</strong></p>
<p><img src="/static/img/ed13ae6ebeb56232ed92b1cf3057bbbb.image.png" alt="image.png"></p>
<h1>四、寓教于乐，轻松易懂</h1>
<p>《小狗钱钱》虽然讨论的是理财这个看似复杂的主题，但它采用了非常轻松的写作方式和生动的情节，打破了传统理财书籍枯燥乏味的印象。</p>
<p>书中的“钱钱”并没有直接给出复杂的理论，而是通过一系列生活化的例子和形象化的比喻，让读者可以非常直观地理解。</p>
<p>例如，“钱钱”通过比喻把储蓄与种子进行对比，告诉吉娅“<strong>每一次存钱，就像是种下一颗财富的种子，它会在未来生根发芽，最终给你带来丰硕的果实</strong>”。这些简单易懂的比喻和生动的案例，让孩子和成人都能够很快理解复杂的理财原则。</p>
<p><img src="/static/img/9914e51d826e35bffb9cdcd4f740b6f5.image.png" alt="image.png"></p>
<h1>五、总结</h1>
<p>《小狗钱钱》不仅仅是一本理财书，它通过充满智慧的故事告诉我们，<strong>理财不仅仅是为了积累财富，更是为了提高生活质量、实现个人目标</strong>。书中的理财理念包括如何规划财务、如何树立正确的金钱观、如何实现财富自由等，都是我们在日常生活中非常需要的知识。这本书不仅适合孩子，也适合任何希望改善财务状况、培养理财习惯的人。</p>
<p>读完这本书后，我深刻意识到，<strong>理财并不是一件遥不可及的事，而是通过坚持不懈的小行动和长期规划，逐步实现的目标</strong>。如果你还没有读过这本书，我强烈推荐你去阅读，它一定会给你带来深刻的启发和改变，并帮助你从今天开始，迈向更理性、更自由的生活。<br>
<img src="/static/img/9b6f549bf78978bce02cdd7702174cc9.image.png" alt="image.png"></p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/书籍阅读">书籍阅读</category>
        </item>
        <item>
            <title><![CDATA[VisionPro练习—杂志页排序]]></title>
            <link>http://blog.wilsonzy.cn/post/96</link>
            <guid>http://blog.wilsonzy.cn/post/96</guid>
            <pubDate>Wed, 11 Dec 2024 13:45:57 GMT</pubDate>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <!-- more -->
<p><strong>杂志页排序</strong></p>
<p><img src="/static/img/0e64adade16ddbb933876042ac568aee.image.png" alt="image.png"></p>
<p>模板搜寻工具</p>
<p><img src="/static/img/9409db855f91b60ea7d7bbbeb437f89a.image.png" alt="image.png"></p>
<p>依次进行多次抓取训练图像</p>
<p><img src="/static/img/1b49e949a59d27ad3dc6e98cb6a8f231.image.png" alt="image.png"></p>
<p><img src="/static/img/ccc1fc93d329a4ec49df1558fe2e835b.image.png" alt="image.png"></p>
<p>添加杂志页的Count输出终端</p>
<p><img src="/static/img/90015a746037d26b69a97e93b9b84e1f.image.png" alt="image.png"></p>
<p><img src="/static/img/a7a6957e9acb2caf546a65737e6259c3.image.png" alt="image.png"></p>
<p>将6张杂志页的Count连接到高级脚本的输入上  并输出一个结果</p>
<p><img src="/static/img/3c1e7e6f91a6dae9da0362cb09a24902.image.png" alt="image.png"></p>
<p>编写脚本</p>
<p><img src="/static/img/a11f5f4debaa58938be2fbf884515c65.image.png" alt="image.png"></p>
<p><img src="/static/img/3102431b612f70ed41b68d97773e0b61.image.png" alt="image.png"></p>
<p>将输出结果用文字标签显示在图像上</p>
<p><img src="/static/img/33cd8a6fb645cdae7a99caaf9fb39faa.image.png" alt="image.png"></p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/自我提升">自我提升</category>
        </item>
        <item>
            <title><![CDATA[VisionPro练习—圆形文字识别]]></title>
            <link>http://blog.wilsonzy.cn/post/95</link>
            <guid>http://blog.wilsonzy.cn/post/95</guid>
            <pubDate>Wed, 11 Dec 2024 13:43:56 GMT</pubDate>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <!-- more -->
<p><strong>圆形文字识别</strong></p>
<p><img src="/static/img/cd3071dcb07d4cd5f350ea8a21e2c08f.image.png" alt="image.png"></p>
<p>将图像转换成灰度图像</p>
<p><img src="/static/img/00cbab75b54e29827cde584e356b7371.image.png" alt="image.png"></p>
<p>找⚪</p>
<p><img src="/static/img/1e725916816d5f3b06cd906e566aba43.image.png" alt="image.png"></p>
<p><img src="/static/img/5e84a2b82c20328464eadaa4854c17ea.image.png" alt="image.png"></p>
<p>极性展开</p>
<p><img src="/static/img/92561df1e8c1684bec5aab93091619f9.image.png" alt="image.png"></p>
<p><img src="/static/img/7130ac4804186d7670d5a259ff8a1b55.image.png" alt="image.png"></p>
<p><img src="/static/img/98614c37b7fa55626ddf13708c40a0cb.image.png" alt="image.png"></p>
<p>展开后</p>
<p><img src="/static/img/da060c313fa5ffc262fd07ed3382d1ed.image.png" alt="image.png"></p>
<p>字符提取</p>
<p><img src="/static/img/a769dc2629bec55076c44cb4ddcafde6.image.png" alt="image.png"></p>
<p><img src="/static/img/6526ba873f1fce418f0fc1f96157c824.image.png" alt="image.png"></p>
<p>将结果用文字标签工具显示在图像上</p>
<p><img src="/static/img/dc155456aa713c61acd1523f01f76fba.image.png" alt="image.png"></p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/自我提升">自我提升</category>
        </item>
        <item>
            <title><![CDATA[VisionPro练习—圆形瓶口缺陷检测]]></title>
            <link>http://blog.wilsonzy.cn/post/94</link>
            <guid>http://blog.wilsonzy.cn/post/94</guid>
            <pubDate>Wed, 11 Dec 2024 13:41:12 GMT</pubDate>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <!-- more -->
<p><strong>圆形瓶口缺陷检测</strong></p>
<p><img src="/static/img/b7dd95f9bb97b4b24b75498a64aaec31.image.png" alt="image.png"></p>
<p>模板匹配  抓取训练图像</p>
<p><img src="/static/img/eab7aed10ff88efc7bc909467170ef63.image.png" alt="image.png"></p>
<p><img src="/static/img/b64afd91fb27ab0cd273c3a84d693900.image.png" alt="image.png"></p>
<p>不考虑杂斑</p>
<p><img src="/static/img/dd7d51131e2eb8dc99fb563ec0381036.image.png" alt="image.png"></p>
<p>忽略极性    训练完成</p>
<p><img src="/static/img/2fbaddbc08121729093d9ca047996adf.image.png" alt="image.png"></p>
<p>定位工具</p>
<p><img src="/static/img/d077ff593c1d9ad216204feece70e6b0.image.png" alt="image.png"></p>
<p>找⚪</p>
<p><img src="/static/img/dd80c7e6e772a5fbfd642bc52b8af462.image.png" alt="image.png"></p>
<p><img src="/static/img/6aa56c437eed7116a5010ad4d2fbf1a8.image.png" alt="image.png"></p>
<p><img src="/static/img/50f849faf612677dd8a6a7c6c58755d3.image.png" alt="image.png"></p>
<p>极性展开</p>
<p><img src="/static/img/9b6871c5294eb974fdc7a03ace630679.image.png" alt="image.png"></p>
<p><img src="/static/img/6c29d1a14714e506e888f44b80b2e8dd.image.png" alt="image.png"></p>
<p>展开后</p>
<p><img src="/static/img/c528a379860067830525ede3daa13f50.image.png" alt="image.png"></p>
<p>斑点工具提取瑕疵</p>
<p><img src="/static/img/a50fe6765fe2f60ff9eea0865b22fea4.image.png" alt="image.png"></p>
<p>添加尺寸的非环性   并过滤</p>
<p><img src="/static/img/7088f58aa7c71dfd25a937a13e816d08.image.png" alt="image.png"></p>
<p><img src="/static/img/e988eb4548225bb3b82a502421fdf57c.image.png" alt="image.png"></p>
<p>将斑点工具提取瑕疵得到的结果连接高级语言输入终端<br>
高级语言脚本</p>
<p><img src="/static/img/47960cab640ca2545551c284747ce27f.image.png" alt="image.png"></p>
<p>将高级语言处理后得到的结果用文字标签工具显示在图像上</p>
<p><img src="/static/img/942b44e1634aa8146a4f39fc4336653e.image.png" alt="image.png"></p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/自我提升">自我提升</category>
        </item>
        <item>
            <title><![CDATA[VisionPro练习—硬币统计]]></title>
            <link>http://blog.wilsonzy.cn/post/93</link>
            <guid>http://blog.wilsonzy.cn/post/93</guid>
            <pubDate>Wed, 11 Dec 2024 13:38:06 GMT</pubDate>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <!-- more -->
<p><strong>硬币金额统计</strong></p>
<p><img src="/static/img/9cfa4013fb886a3808e1ca926bc36ff5.image.png" alt="image.png"></p>
<p>模板匹配</p>
<p><img src="/static/img/164f18d10f4602e4be0955ebc95e9120.image.png" alt="image.png"></p>
<p>图像掩膜<br>
<img src="/static/img/744fd15fa34bf6b1616e6ab8223bf73f.image.png" alt="image.png"></p>
<p>工具里 矩形选择  硬币</p>
<p><img src="/static/img/8c02a3196002648cd770bd60400e856d.image.png" alt="image.png"></p>
<p>用笔将硬币外轮廓擦除（使硬币外圆可见）</p>
<p><img src="/static/img/d0cf8e30adffb327011c51f47a4307aa.image.png" alt="image.png"></p>
<p>训练区域</p>
<p><img src="/static/img/d735b2ef618a06c154b011c067f46482.image.png" alt="image.png"></p>
<p>设置查找区域和个数</p>
<p><img src="/static/img/86de7c72fdddfd7be60236c0d08d9504.image.png" alt="image.png"></p>
<p>训练 得出匹配结果</p>
<p><img src="/static/img/2ddcf519f11ab43832105902e500181a.image.png" alt="image.png"></p>
<p>结果分析</p>
<p><img src="/static/img/684024d774fb9c930a66013567868ff9.image.png" alt="image.png"></p>
<p>添加金额 输出终端</p>
<p><img src="/static/img/cf593d52bb2e56d99259c2d1f46a82b2.image.png" alt="image.png"></p>
<p><img src="/static/img/80a3163d7c7cb7cda024aeb06513228b.image.png" alt="image.png"></p>
<p><img src="/static/img/46928fcd647c649e3dfbd6ecaa3d4ac5.image.png" alt="image.png"></p>
<p>文字标签</p>
<p><img src="/static/img/936fb9feaaf7dca8de8af97e3287be56.image.png" alt="image.png"></p>
<p>用C#高级语言</p>
<p><img src="/static/img/30500c4232b53d854aee002d20a9311a.image.png" alt="image.png"></p>
<p>创建脚本</p>
<p><img src="/static/img/685704d0faea10c230e7aa25088a95ae.image.png" alt="image.png"></p>
<p>定义一个变量</p>
<p><img src="/static/img/1918b54b7999f74eefbf1fa8220648fc.image.png" alt="image.png"></p>
<p>获取结果分析工具里的结果</p>
<p><img src="/static/img/de7a024a26607e7b33d72351a7e0e4eb.image.png" alt="image.png"></p>
<p>显示在那张图像上</p>
<p><img src="/static/img/3886868491bb6114b82aeecff5033907.image.png" alt="image.png"></p>
<p><img src="/static/img/c59dce74bd07e20e5e4a9ea6c0e77d21.image.png" alt="image.png"></p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/自我提升">自我提升</category>
        </item>
        <item>
            <title><![CDATA[VisionPro练习—药物胶囊瑕疵检测]]></title>
            <link>http://blog.wilsonzy.cn/post/92</link>
            <guid>http://blog.wilsonzy.cn/post/92</guid>
            <pubDate>Wed, 11 Dec 2024 13:33:00 GMT</pubDate>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <!-- more -->
<p><strong>药物胶囊瑕疵检测</strong></p>
<p><img src="/static/img/50e856b74ae1fcdc847cfe0e3f9c127d.image.png" alt="image.png"></p>
<p>图像转换成灰度图</p>
<p><img src="/static/img/11bf116728c8c63bafd461fc63af22ab.image.png" alt="image.png"></p>
<p>模板匹配  抓取训练图像</p>
<p><img src="/static/img/50763bfa8d6538da360dc948ec971353.image.png" alt="image.png"></p>
<p><img src="/static/img/e79594db0dc92d0464ccc95a769e6e0d.image.png" alt="image.png"></p>
<p><img src="/static/img/a6ca4320fc18442a2d5258221920e049.image.png" alt="image.png"></p>
<p>用掩膜编辑器将不需要的区域掩膜掉</p>
<p><img src="/static/img/d8aa137198b087093cfc884e142a47e6.image.png" alt="image.png"></p>
<p>训练完成</p>
<p><img src="/static/img/f084ef24d68997dc0a891c601fcb6c0a.image.png" alt="image.png"></p>
<p>定位工具</p>
<p><img src="/static/img/a8c705322873829af13d4e8f07057db9.image.png" alt="image.png"></p>
<p>合格胶囊模板找寻</p>
<p><img src="/static/img/ed830b1fb2c7016af910748bbac3f93b.image.png" alt="image.png"></p>
<p>抓取训练图像</p>
<p><img src="/static/img/e14c51a76771c20c52bdc7fee4625df2.image.png" alt="image.png"></p>
<p><img src="/static/img/0b617246295f3d7099fbb177d321906e.image.png" alt="image.png"></p>
<p>查找数量</p>
<p><img src="/static/img/b4d1b6d4a20edc4f2c784b45cf1c32cc.image.png" alt="image.png"></p>
<p>缺失胶囊模板找寻</p>
<p><img src="/static/img/ff04a6f754ce63fcbb81c4524fa28ef1.image.png" alt="image.png"></p>
<p><img src="/static/img/0a88a3b2880088d3ca9e36a102113d4c.image.png" alt="image.png"></p>
<p><img src="/static/img/ded4533bfabe3bc7ba116e7d6fee5ae8.image.png" alt="image.png"></p>
<p>脚本处理<br>
将合格和缺失的数量连接到高级脚本的输入</p>
<p><img src="/static/img/6c7968f5ddb07ec0e761ec1bf024b3b5.image.png" alt="image.png"></p>
<p><img src="/static/img/6604ade1f400dcf0990ef636ebfb4ddc.image.png" alt="image.png"></p>
<p>用文字标签工具将结果显示在图像上</p>
<p><img src="/static/img/bd04c4212b29f2e4e80c7d11eb9833b7.image.png" alt="image.png"></p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/自我提升">自我提升</category>
        </item>
        <item>
            <title><![CDATA[VisionPro练习—骰子点数统计]]></title>
            <link>http://blog.wilsonzy.cn/post/91</link>
            <guid>http://blog.wilsonzy.cn/post/91</guid>
            <pubDate>Wed, 11 Dec 2024 13:29:16 GMT</pubDate>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <!-- more -->
<p><strong>骰子点数统计</strong></p>
<p><img src="/static/img/90936ad489c4a338eb30d38ea1fbfa60.image.png" alt="image.png"></p>
<p>颜色转换</p>
<p><img src="/static/img/8346bf19332be18e6584dce89126815b.image.png" alt="image.png"></p>
<p>斑点工具</p>
<p><img src="/static/img/b1373e53db0b5e184542b168ef11eeea.image.png" alt="image.png"></p>
<p><img src="/static/img/e048943d2c190208c0eb20e71aed08e8.image.png" alt="image.png"></p>
<p>将不需要的斑点过滤掉</p>
<p><img src="/static/img/7015bdd751f7b389f40ac40b75d011a5.image.png" alt="image.png"></p>
<p><img src="/static/img/ab4aded6fadb8db49505644f57f22ec7.image.png" alt="image.png"></p>
<p>将斑点个数用文字标签工具显示</p>
<p><img src="/static/img/9200b4b543a5c8aa4f5bd1fad76d6806.image.png" alt="image.png"></p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/自我提升">自我提升</category>
        </item>
        <item>
            <title><![CDATA[VisionPro练习—陶瓷釉面瑕疵检测标注]]></title>
            <link>http://blog.wilsonzy.cn/post/90</link>
            <guid>http://blog.wilsonzy.cn/post/90</guid>
            <pubDate>Wed, 11 Dec 2024 13:26:58 GMT</pubDate>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <!-- more -->
<p><strong>陶瓷釉面瑕疵检测标注</strong></p>
<p><img src="/static/img/15b38da366dd8f06b27e25ad48119a3d.image.png" alt="image.png"></p>
<p>图像转换成灰度图像</p>
<p><img src="/static/img/3d6f0f84ab512a2b7adab1604e6092fe.image.png" alt="image.png"></p>
<p>基本图像处理   运用中值NxM将图像模糊处理</p>
<p><img src="/static/img/252c3de7b550377f0ab3b1ca0ee1dc55.image.png" alt="image.png"></p>
<p><img src="/static/img/9cc4e5c6a915ca39f388d1508b46cae0.image.png" alt="image.png"></p>
<p>2张图像相减处理  得出2张图像的不同区域</p>
<p><img src="/static/img/c55879dad7d58557bc69c6697cd7188e.image.png" alt="image.png"></p>
<p>用斑点工具将不同区域提取出来</p>
<p><img src="/static/img/bd6315e80606ac7cdccc06ad7ee4c6f3.image.png" alt="image.png"></p>
<p>在不同区域添加⚪</p>
<p><img src="/static/img/d83326e1bad2527574db010cc95f6482.image.png" alt="image.png"></p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/自我提升">自我提升</category>
        </item>
        <item>
            <title><![CDATA[VisionPro练习—书签类型检测]]></title>
            <link>http://blog.wilsonzy.cn/post/89</link>
            <guid>http://blog.wilsonzy.cn/post/89</guid>
            <pubDate>Wed, 11 Dec 2024 13:24:59 GMT</pubDate>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <!-- more -->
<p><strong>书签类型检测</strong></p>
<p><img src="/static/img/612736cbfd3ebc144cdbeb40b65c5b74.image.png" alt="image.png"></p>
<p>图像转换成灰度图像</p>
<p><img src="/static/img/006929eb45940f89c19aabc3ea1c8d78.image.png" alt="image.png"></p>
<p>模板匹配 ¬—— 抓取公共部分</p>
<p><img src="/static/img/d33a653cab35e59095bec7dda885ac95.image.png" alt="image.png"></p>
<p><img src="/static/img/1d12af5fb10b426e5cf15012b7c485d0.image.png" alt="image.png"></p>
<p><img src="/static/img/a017c17e8c534c6f2fba0c7d1676eba5.image.png" alt="image.png"></p>
<p>训练完成</p>
<p><img src="/static/img/3e9aa11d29efcd15ef69773c88a24639.image.png" alt="image.png"></p>
<p>定位工具</p>
<p><img src="/static/img/c7744236606f4786a8260592fb2b7bd8.image.png" alt="image.png"></p>
<p>模板匹配——  花朵</p>
<p><img src="/static/img/00a93080259a71c03b6da06fd81c6922.image.png" alt="image.png"></p>
<p>模板匹配—— 青蛙</p>
<p><img src="/static/img/12b98c255eed46c5bbe03941d6e94dfc.image.png" alt="image.png"></p>
<p>模板匹配—— 心心</p>
<p><img src="/static/img/700da7eac6b23eb9941624e780dd7502.image.png" alt="image.png"></p>
<p><img src="/static/img/1c3ba68444ee5e34068be45e7a4ef305.image.png" alt="image.png"></p>
<p><img src="/static/img/3a9f1da94af2ea960e629e837f99f4ff.image.png" alt="image.png"></p>
<p>高级语言</p>
<p><img src="/static/img/1dee43e6228e3a555fdda142966eab99.image.png" alt="image.png"></p>
<p>将结果用文字标签工具显示在图像上</p>
<p><img src="/static/img/b7478280c1b2fe19b2be0d16a8fea071.image.png" alt="image.png"></p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/自我提升">自我提升</category>
        </item>
        <item>
            <title><![CDATA[VisionPro练习—手机电池正反面识别]]></title>
            <link>http://blog.wilsonzy.cn/post/88</link>
            <guid>http://blog.wilsonzy.cn/post/88</guid>
            <pubDate>Wed, 11 Dec 2024 13:21:39 GMT</pubDate>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <!-- more -->
<p><strong>手机电池正反面识别</strong></p>
<p><img src="/static/img/a6dbcf6d63d14bf3e9deddd5dece8721.image.png" alt="image.png"></p>
<p>图像转换成灰度图</p>
<p><img src="/static/img/6e2a52653a7ebbc307c4f08e9e388a27.image.png" alt="image.png"></p>
<p>模板匹配—— 抓取公共部分</p>
<p><img src="/static/img/be0501824f57a3d988127f3657c53b53.image.png" alt="image.png"></p>
<p>用掩膜编辑器 掩膜掉不需要的部位</p>
<p><img src="/static/img/66042ba59ab5d6a365687f6c121642f6.image.png" alt="image.png"></p>
<p><img src="/static/img/380d95a2fe06e062682946331930328c.image.png" alt="image.png"></p>
<p><img src="/static/img/05925fcf5c2bdc30c58389a30f3826a8.image.png" alt="image.png"></p>
<p><img src="/static/img/9918a1143d7e2c9dccd637d26f675fa2.image.png" alt="image.png"></p>
<p>训练完成</p>
<p><img src="/static/img/bf96994112ef2ec20e10fdbd5d06c659.image.png" alt="image.png"></p>
<p>定位工具</p>
<p><img src="/static/img/3bdfbaff24455bb2227cd3825486a9a3.image.png" alt="image.png"></p>
<p>模板匹配—— 正面</p>
<p><img src="/static/img/5e31573624f85be2f21eba19a27ec054.image.png" alt="image.png"></p>
<p>模板匹配—— 反面</p>
<p><img src="/static/img/3e8f9b421af61ccf1b78b394789d26c0.image.png" alt="image.png"></p>
<p><img src="/static/img/566c8139d8040df7af400da0f51d3e17.image.png" alt="image.png"></p>
<p><img src="/static/img/e93695be1dac5660ed5572c2c7bbd388.image.png" alt="image.png"></p>
<p><img src="/static/img/d386035594e528017e70aff0ebbc3d28.image.png" alt="image.png"></p>
<p>高级语言</p>
<p><img src="/static/img/f40fb66832c2b272e9247e36dd56f74e.image.png" alt="image.png"></p>
<p>将结果用文字标签工具显示在图像上</p>
<p><img src="/static/img/6cada52bf8d45412af65e8b6c9560ce4.image.png" alt="image.png"></p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/自我提升">自我提升</category>
        </item>
        <item>
            <title><![CDATA[VisionPro练习—啤酒瓶盖瑕疵品识别]]></title>
            <link>http://blog.wilsonzy.cn/post/87</link>
            <guid>http://blog.wilsonzy.cn/post/87</guid>
            <pubDate>Wed, 11 Dec 2024 13:18:07 GMT</pubDate>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <!-- more -->
<p><strong>啤酒瓶盖瑕疵品识别</strong></p>
<p><img src="/static/img/444541f3b2352a06ed8911779f1a7c42.image.png" alt="image.png"></p>
<p>图像转换成灰度图</p>
<p><img src="/static/img/510b0dbe1df983cb757eca6198024866.image.png" alt="image.png"></p>
<p>直方图</p>
<p><img src="/static/img/3a5fcf06aaba65cd0efa822261491699.image.png" alt="image.png"></p>
<p>高级语言</p>
<p><img src="/static/img/d864562f53fbb287aa04b3dd1eb0c4f3.image.png" alt="image.png"></p>
<p>将结果用文字标签工具显示在图像上</p>
<p><img src="/static/img/eebc2b70ef79d14477f6105d9cc3ff47.image.png" alt="image.png"></p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/自我提升">自我提升</category>
        </item>
        <item>
            <title><![CDATA[VisionPro练习—零件瑕疵检测]]></title>
            <link>http://blog.wilsonzy.cn/post/86</link>
            <guid>http://blog.wilsonzy.cn/post/86</guid>
            <pubDate>Wed, 11 Dec 2024 13:15:56 GMT</pubDate>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <!-- more -->
<p><strong>零件瑕疵检测</strong></p>
<p><img src="/static/img/a92e26bbcb3d2bb1fafaba504525927f.image.png" alt="image.png"></p>
<p><img src="/static/img/54a1b81979e0bf0a5083440d6160c374.image.png" alt="image.png"></p>
<p>模板匹配抓取训练图像</p>
<p><img src="/static/img/1af5f607fd1e272537b0c0f40aa60244.image.png" alt="image.png"></p>
<p><img src="/static/img/48365918364c61f08b08a1d0013c9039.image.png" alt="image.png"></p>
<p><img src="/static/img/38d115134cee37c10921f6f63feb1ffd.image.png" alt="image.png"></p>
<p>用掩膜工具将瑕疵部份掩膜掉</p>
<p><img src="/static/img/78ffbc0c20c99b10d7413adf831d1ead.image.png" alt="image.png"></p>
<p><img src="/static/img/5c5fe4914ff53e2e82809ca074e8a316.image.png" alt="image.png"></p>
<p>训练完成</p>
<p><img src="/static/img/f37750691a71d491e38c2037691829cd.image.png" alt="image.png"></p>
<p>定位工具</p>
<p><img src="/static/img/7c4aec3bc3a12a2d2b2b37e3195fe2fe.image.png" alt="image.png"></p>
<p>上端瑕疵区域      矩形部分</p>
<p><img src="/static/img/295c1e977c629dfc22a7ac73fce4b456.image.png" alt="image.png"></p>
<p>瑕疵</p>
<p><img src="/static/img/941ee1323c8c4f68416da7116d0eb1e4.image.png" alt="image.png"></p>
<p>合格</p>
<p><img src="/static/img/a9295ed2f9a4b95df3a6a22cbe1f72b7.image.png" alt="image.png"></p>
<p>左侧瑕疵区域 圆形部分</p>
<p><img src="/static/img/087bb63f70e9a8073d9661926e7c9bd1.image.png" alt="image.png"></p>
<p>合格</p>
<p><img src="/static/img/746983a5eb00790f72ef559cf742c857.image.png" alt="image.png"></p>
<p>瑕疵</p>
<p><img src="/static/img/9121a4728752e576dd269a1c0ef2c73b.image.png" alt="image.png"></p>
<p>右侧瑕疵区域   圆形部分</p>
<p><img src="/static/img/67d8e2c684b6404f643da1c06f5e81a8.image.png" alt="image.png"></p>
<p>合格</p>
<p><img src="/static/img/7bcdcffc3aa2408c60288061f98eb0e3.image.png" alt="image.png"></p>
<p>瑕疵</p>
<p><img src="/static/img/d4571f13d6a10445ba2ebabeca28fb54.image.png" alt="image.png"></p>
<p>结果分析工具</p>
<p><img src="/static/img/ff960e6ccb8171d8ae1611641aa15364.image.png" alt="image.png"></p>
<p>将运算结果输出终端</p>
<p><img src="/static/img/499bb1fb82a577149db397cbca7b3bdd.image.png" alt="image.png"></p>
<p><img src="/static/img/8f0ee1ba2f36af518eaf58813832458d.image.png" alt="image.png"></p>
<p><img src="/static/img/7ea0f543ec8c1785d1acd549bc61865f.image.png" alt="image.png"></p>
<p>将结果用文字标签工具显示在图像上</p>
<p><img src="/static/img/0bde9b728b9e3a1567bc1835c5c5e50f.image.png" alt="image.png"></p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/自我提升">自我提升</category>
        </item>
        <item>
            <title><![CDATA[VisionPro练习—零件孔位矩形标注]]></title>
            <link>http://blog.wilsonzy.cn/post/85</link>
            <guid>http://blog.wilsonzy.cn/post/85</guid>
            <pubDate>Wed, 11 Dec 2024 13:09:43 GMT</pubDate>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <!-- more -->
<p><strong>零件孔位矩形标注</strong></p>
<p><img src="/static/img/a49e26b4fee9328e51ab2f21068eb537.image.png" alt="image.png"></p>
<p>模板匹配   抓取训练图像</p>
<p><img src="/static/img/2715dadaccdb55199b67d92ad2f0c503.image.png" alt="image.png"></p>
<p><img src="/static/img/a77a0a054fdacd3a4dbb4c590a52f05b.image.png" alt="image.png"></p>
<p><img src="/static/img/adfac8119da85a2158f5c69b5892d455.image.png" alt="image.png"></p>
<p>定位工具</p>
<p><img src="/static/img/ae6b50dbfed5e15a83c5b5a0454480ae.image.png" alt="image.png"></p>
<p>用斑点工具将孔位区域识别</p>
<p><img src="/static/img/66774f3ee919ef0ed76145e92bc9bf4c.image.png" alt="image.png"></p>
<p><img src="/static/img/735025af24924f156adef9407f4e6213.image.png" alt="image.png"></p>
<p>将不需要的过滤掉</p>
<p><img src="/static/img/17d1f3541daf4457fbbf67a590dc5317.image.png" alt="image.png"></p>
<p><img src="/static/img/9d6379633dcac161e96e42886be124c9.image.png" alt="image.png"></p>
<p>创建高级脚本</p>
<p><img src="/static/img/611856521806768b99c64e9910c045e5.image.png" alt="image.png"></p>
<p>定义变量         矩形仿射类型CogRectangleAffine类</p>
<p><img src="/static/img/59cb38567e5afd5cd50e18a7a3afbd41.image.png" alt="image.png"><br>
 <br>
<img src="/static/img/44d3f74c0314e242c8ed0fb73f4fc04a.image.png" alt="image.png"></p>
<p>获取CogBlobTool1 工具的结果          得到blob1工具</p>
<p><img src="/static/img/c2b65dda112341a1e7c0bf453dbe5d2e.image.png" alt="image.png"></p>
<p>将结果显示在CogFixtureTool1.OutputImage图像上</p>
<p><img src="/static/img/ac1c8ba7b63b9c4684cf63e0d3ecbe34.image.png" alt="image.png"></p>
<p><img src="/static/img/955b490f64916de26b80d7894c6ae351.image.png" alt="image.png"></p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/自我提升">自我提升</category>
        </item>
        <item>
            <title><![CDATA[VisionPro练习—零件孔数统计]]></title>
            <link>http://blog.wilsonzy.cn/post/84</link>
            <guid>http://blog.wilsonzy.cn/post/84</guid>
            <pubDate>Wed, 11 Dec 2024 13:06:07 GMT</pubDate>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <!-- more -->
<p><strong>零件孔数统计</strong></p>
<p><img src="/static/img/15fe2849942a6b31fde2d907ff739c5b.image.png" alt="image.png"></p>
<p>模板匹配   抓取训练图像</p>
<p><img src="/static/img/0a33e600583b1d676c8bb60efadbb10d.image.png" alt="image.png"></p>
<p><img src="/static/img/86a3ff6a328fca4dba1ef3b99c2f934e.image.png" alt="image.png"></p>
<p>设置查找区域和个数</p>
<p><img src="/static/img/dcc862b7bc17db969331ff94c7fb3003.image.png" alt="image.png"></p>
<p>定位工具</p>
<p><img src="/static/img/cee32a135f2bedfe2b060712f8f26146.image.png" alt="image.png"></p>
<p>查找小孔个数    斑点工具</p>
<p><img src="/static/img/1b738552fd4e77e77812e1cbbbba20a3.image.png" alt="image.png"></p>
<p>过滤不需要的</p>
<p><img src="/static/img/74de093b9f3a5990ca745afa4123634f.image.png" alt="image.png"></p>
<p><img src="/static/img/0405ec217c77fd5123383b5c53d462fd.image.png" alt="image.png"></p>
<p>查找大孔个数   斑点工具</p>
<p><img src="/static/img/95faff3ecb34a5ece112c9223e085851.image.png" alt="image.png"></p>
<p>过滤不需要的</p>
<p><img src="/static/img/f3f66d26cef8bd1f96d0ff87c950834a.image.png" alt="image.png"></p>
<p><img src="/static/img/903f045d224f1317d412b1306d71c3e9.image.png" alt="image.png"></p>
<p>高级语言</p>
<p><img src="/static/img/5b7236ddf6bbfbea50472bea21cfc32f.image.png" alt="image.png"></p>
<p><img src="/static/img/f13d2c897c2aa198ef15a2aed63824b9.image.png" alt="image.png"></p>
<p>将得到的结果用文字标签工具显示</p>
<p><img src="/static/img/3de796f22986959b7b5fcb339737b06e.image.png" alt="image.png"></p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/自我提升">自我提升</category>
        </item>
        <item>
            <title><![CDATA[VisionPro练习—零件测量与显示]]></title>
            <link>http://blog.wilsonzy.cn/post/83</link>
            <guid>http://blog.wilsonzy.cn/post/83</guid>
            <pubDate>Wed, 11 Dec 2024 13:02:57 GMT</pubDate>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <!-- more -->
<p><strong>零件的测量与显示</strong></p>
<p><img src="/static/img/6e16b953b4dcdb61f1ec4f37bf516ea1.image.png" alt="image.png"></p>
<p><img src="/static/img/aef8ead1aac571403b0bfd124948c4bf.image.png" alt="image.png"></p>
<p>1．	输入图像</p>
<p><img src="/static/img/29adefe8fc157512d6b22fd834667632.image.png" alt="image.png"></p>
<p>2．	模板匹配工具使用</p>
<p><img src="/static/img/e5a4a75ded8f22c8d81d1361c4ef95b5.image.png" alt="image.png"></p>
<p>训练区域选择中心原点</p>
<p><img src="/static/img/14640beaad83db785761c5bf0e53043b.image.png" alt="image.png"></p>
<p><img src="/static/img/162167e3b4b29724bbdc72441ce4b572.image.png" alt="image.png"></p>
<p><img src="/static/img/212a966f12654df5e7277f7902fa4e94.image.png" alt="image.png"></p>
<p>训练结束</p>
<p><img src="/static/img/782a37212189c6e4272697595a1dfc08.image.png" alt="image.png"></p>
<p>3.定位工具</p>
<p><img src="/static/img/d78941baec6e6a786641312408eb0c33.image.png" alt="image.png"></p>
<p>4.卡尺工具</p>
<p><img src="/static/img/31b04f3fe7befd8c3a93343ff8e65123.image.png" alt="image.png"></p>
<p><img src="/static/img/4d3b23546634b92e12c6414e95c222a9.image.png" alt="image.png"></p>
<p>5.文字标签</p>
<p><img src="/static/img/aec003add9dc3f7b22e0a061616a909a.image.png" alt="image.png"></p>
<p>放置位置</p>
<p><img src="/static/img/fdbd56084098ed447ffff47a588a3938.image.png" alt="image.png"></p>
<p>用C#高级语言显示测量结果</p>
<p><img src="/static/img/8156dc08e5668c93c127c27bc317fe65.image.png" alt="image.png"></p>
<p>创建脚本语言</p>
<p><img src="/static/img/cdcfbc2cd03904f004bdc860727ed3be.image.png" alt="image.png"></p>
<p>定义变量</p>
<p><img src="/static/img/89b0b70acf34700c183adfbe6a626936.image.png" alt="image.png"></p>
<p>获取卡尺工具 以及卡尺工具测量的结果</p>
<p><img src="/static/img/c24028af35dc8e96f4ad1341c9749d63.image.png" alt="image.png"></p>
<p>结果显示在图像上</p>
<p><img src="/static/img/e8f1613a988f098c008ae650fb71110f.image.png" alt="image.png"></p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/自我提升">自我提升</category>
        </item>
        <item>
            <title><![CDATA[VisionPro练习—卡尺工具检测多目标]]></title>
            <link>http://blog.wilsonzy.cn/post/82</link>
            <guid>http://blog.wilsonzy.cn/post/82</guid>
            <pubDate>Wed, 11 Dec 2024 12:59:06 GMT</pubDate>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <!-- more -->
<p><strong>卡尺工具检测多目标</strong></p>
<p><img src="/static/img/76a2eb78c85d104f55c1991a88243ee3.image.png" alt="image.png"></p>
<p>斑点工具</p>
<p><img src="/static/img/788d99ff0600de212aa4fb56a5adb029.image.png" alt="image.png"></p>
<p>过滤掉不需要的</p>
<p><img src="/static/img/eaf38f3cbb45fa2040cbea7197bdc53f.image.png" alt="image.png"></p>
<p><img src="/static/img/238158fe10674465984271ee3a3b7e6b.image.png" alt="image.png"></p>
<p>卡尺工具寻找被测物体</p>
<p><img src="/static/img/2b14071d02bdb1b82116455b228c33db.image.png" alt="image.png"></p>
<p>创建高级脚本</p>
<p><img src="/static/img/c6c11647f0e371c7b1f3680e1ea5821f.image.png" alt="image.png"></p>
<p>引入 泛型 命名空间</p>
<p><img src="/static/img/9f573e56af3ce4bb034d1593ef329156.image.png" alt="image.png"></p>
<p>定义泛型列表 变量</p>
<p><img src="/static/img/4147fc091b083e8be59f1aaecfaee36e.image.png" alt="image.png"></p>
<p>获取斑点信息 并运行卡尺工具  符合的就在图上标注Good</p>
<p><img src="/static/img/e3fb9fd0d2012cd21445607a507a2511.image.png" alt="image.png"></p>
<p>将结果显示在图像上</p>
<p><img src="/static/img/ea373819e67ce3a5d754a6a74cfa341b.image.png" alt="image.png"></p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/自我提升">自我提升</category>
        </item>
        <item>
            <title><![CDATA[VisionPro练习—检测球形轴承的安装错误]]></title>
            <link>http://blog.wilsonzy.cn/post/81</link>
            <guid>http://blog.wilsonzy.cn/post/81</guid>
            <pubDate>Wed, 11 Dec 2024 12:56:09 GMT</pubDate>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <!-- more -->
<p><strong>检测球形轴承的安装错误</strong></p>
<p><img src="/static/img/23b8418cf7d9a25918c01cf0e77482df.image.png" alt="image.png"></p>
<p>模板匹配    用建模器新建模型 并将多余的斑点删除掉</p>
<p><img src="/static/img/84665d7902bf8df87772bb2b6a513d80.image.png" alt="image.png"></p>
<p>抓取训练图像</p>
<p><img src="/static/img/266bcd05a136e763af4998db94f92440.image.png" alt="image.png"></p>
<p><img src="/static/img/cbf703bb18f305f0b8f7195b01c353cf.image.png" alt="image.png"></p>
<p>训练完成后</p>
<p><img src="/static/img/820ee57969067e6759baa3ea766ec6fd.image.png" alt="image.png"></p>
<p>定位工具</p>
<p><img src="/static/img/fbf9b9ae846840a95fa30d036e242b82.image.png" alt="image.png"></p>
<p>添加高通过滤将图像简单处理、锐化图像，增强图像边缘对比</p>
<p><img src="/static/img/6cbd6eb73ca8fadd28cea8f21727cddb.image.png" alt="image.png"></p>
<p>找⚪</p>
<p><img src="/static/img/7b60f2f6f73a52119717fcab1c64990c.image.png" alt="image.png"></p>
<p><img src="/static/img/bfbad150a9112b28d3c5cb906932ef52.image.png" alt="image.png"></p>
<p><img src="/static/img/ce971044d10d79b129b50115a09f7179.image.png" alt="image.png"></p>
<p>极性展开</p>
<p><img src="/static/img/5f9334dcfc529ee406ec3b30fbdc51f2.image.png" alt="image.png"></p>
<p><img src="/static/img/acb193802fc129bb452ba73153300ee6.image.png" alt="image.png"><br>
展开后</p>
<p><img src="/static/img/b192f916850c2d436bf12ed1a0071a0b.image.png" alt="image.png"></p>
<p>模板匹配   轴承滚珠间隙  抓取训练图像</p>
<p><img src="/static/img/affc3ba75fd16efb712774601c557730.image.png" alt="image.png"></p>
<p><img src="/static/img/8d64afdcc96ae2ca98bc79bd52eccbc6.image.png" alt="image.png"></p>
<p>匹配个数</p>
<p><img src="/static/img/0c423211eefaa99f9ecf38b41214f99e.image.png" alt="image.png"></p>
<p><img src="/static/img/1fad9743921e2e79ed7f83aefd73ca21.image.png" alt="image.png"></p>
<p>训练完成</p>
<p><img src="/static/img/b9a7d8a5984328d33f5279cea1bcf683.image.png" alt="image.png"></p>
<p><img src="/static/img/31c62617d85affd612e277587370ce0a.image.png" alt="image.png"><br>
高级脚本</p>
<p><img src="/static/img/81aaa7042a10fe747c504cf425a0c308.image.png" alt="image.png"></p>
<p>添加高级脚本sort<br>
添加dll配置文件</p>
<p><img src="/static/img/cf76e379e2e7b1c8c3dad8a2256725f8.image.png" alt="image.png"></p>
<p><img src="/static/img/5f210dc591b1828f6b2d73cf28d0b909.image.png" alt="image.png"></p>
<p>定位dll文件所在目录</p>
<p><img src="/static/img/70e39ef369ea889c78f272772cd75ea0.image.png" alt="image.png"></p>
<p>引入命名空间</p>
<p><img src="/static/img/47a59e2b2ebafa74daf7e612c60f3f36.image.png" alt="image.png"></p>
<p>定义标签列表变量</p>
<p><img src="/static/img/01b64eac639bc8b9f80c8bb0ee87efaa.image.png" alt="image.png"></p>
<p>获取工具  并将匹配到的结果排序</p>
<p><img src="/static/img/9d57826b51cc4de9a9e884fa04730cfd.image.png" alt="image.png"></p>
<p>排序结果弹窗展示（测试使用）</p>
<p><img src="/static/img/889d46a7e687983b06a3890d846b16d2.image.png" alt="image.png"></p>
<p>计算平均值</p>
<p><img src="/static/img/d04e1bc6acf913407d04e4bbb6e31f23.image.png" alt="image.png"></p>
<p>结果判断</p>
<p><img src="/static/img/09e2cb58eae3bb899e46026c33f3c171.image.png" alt="image.png"></p>
<p>添加高级脚本showResult<br>
引入命名空间</p>
<p><img src="/static/img/7486c564fd22257321fa8156a1683bb2.image.png" alt="image.png"></p>
<p>定义变量</p>
<p><img src="/static/img/1e2a8ea26ca72386263afc46c3c867e9.image.png" alt="image.png"></p>
<p>结果输出</p>
<p><img src="/static/img/8f57a7230af3e84962efd641f5e9672a.image.png" alt="image.png"></p>
<p><img src="/static/img/0b2bb0eea411b028e080084f8950bd00.image.png" alt="image.png"></p>
  <details class="custom-block details" style="display: block; position: relative; border-radius: 2px; margin: 1.6em 0px; padding: 1.6em; background-color: rgb(238, 238, 238); color: rgb(44, 62, 80); font-family: -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, Roboto, Oxygen, Ubuntu, Cantarell, &quot;Fira Sans&quot;, &quot;Droid Sans&quot;, &quot;Helvetica Neue&quot;, sans-serif; font-size: 16px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;"><summary style="outline: none; cursor: pointer;">高级脚本代码 ——sort</summary><pre><code class="language-c#">
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-meta">#<span class="hljs-keyword">region</span> namespace imports</span>
<span class="hljs-keyword">using</span> System;
<span class="hljs-keyword">using</span> System.Collections;
<span class="hljs-keyword">using</span> System.Drawing;
<span class="hljs-keyword">using</span> System.IO;
<span class="hljs-keyword">using</span> System.Windows.Forms;
<span class="hljs-keyword">using</span> Cognex.VisionPro;
<span class="hljs-keyword">using</span> Cognex.VisionPro.ToolBlock;
<span class="hljs-keyword">using</span> Cognex.VisionPro3D;
<span class="hljs-keyword">using</span> Cognex.VisionPro.PMAlign;
<span class="hljs-meta">#<span class="hljs-keyword">endregion</span></span>


<span class="hljs-keyword">public</span> <span class="hljs-keyword">class</span> <span class="hljs-title">CogToolBlockSimpleScript</span> : <span class="hljs-title">CogToolBlockAdvancedScript</span>
{
  <span class="hljs-keyword">public</span> ArrayList mySortedResults = <span class="hljs-keyword">new</span> ArrayList(); 
  ArrayList labels = <span class="hljs-keyword">new</span> ArrayList();<span class="hljs-comment">//标签列表 </span>
 
  <span class="hljs-comment"><span class="hljs-doctag">///</span> <span class="hljs-doctag">&lt;summary&gt;</span></span>
  <span class="hljs-comment"><span class="hljs-doctag">///</span> Called when the parent tool is run.</span>
  <span class="hljs-comment"><span class="hljs-doctag">///</span> Add code here to customize or replace the normal run behavior.</span>
  <span class="hljs-comment"><span class="hljs-doctag">///</span> <span class="hljs-doctag">&lt;/summary&gt;</span></span>
  <span class="hljs-comment"><span class="hljs-doctag">///</span> <span class="hljs-doctag">&lt;param name=&quot;message&quot;&gt;</span>Sets the Message in the tool&#x27;s RunStatus.<span class="hljs-doctag">&lt;/param&gt;</span></span>
  <span class="hljs-comment"><span class="hljs-doctag">///</span> <span class="hljs-doctag">&lt;param name=&quot;result&quot;&gt;</span>Sets the Result in the tool&#x27;s RunStatus<span class="hljs-doctag">&lt;/param&gt;</span></span>
  <span class="hljs-comment"><span class="hljs-doctag">///</span> <span class="hljs-doctag">&lt;returns&gt;</span>True if the tool should run normally,</span>
  <span class="hljs-comment"><span class="hljs-doctag">///</span>          False if GroupRun customizes run behavior<span class="hljs-doctag">&lt;/returns&gt;</span></span>
  <span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">override</span> <span class="hljs-built_in">bool</span> <span class="hljs-title">GroupRun</span>(<span class="hljs-params"><span class="hljs-keyword">ref</span> <span class="hljs-built_in">string</span> message, <span class="hljs-keyword">ref</span> CogToolResultConstants result</span>)</span>
  {
    <span class="hljs-comment">// To let the execution stop in this script when a debugger is attached, uncomment the following lines.</span>
    <span class="hljs-comment">// #if DEBUG</span>
    <span class="hljs-comment">// if (System.Diagnostics.Debugger.IsAttached) System.Diagnostics.Debugger.Break();</span>
    <span class="hljs-comment">// #endif</span>
    <span class="hljs-comment">// Get the PMAlignResults from the input terminal</span>
    
    CogPMAlignResults myPMAlignResults = Inputs.Results <span class="hljs-keyword">as</span> CogPMAlignResults; <span class="hljs-comment">//获取工具</span>
    mySortedResults.Clear(); <span class="hljs-comment">//标签清除</span>
    
    <span class="hljs-comment">// Sort the PMAlignResults.  Add them to mySortedResults in order, based on the</span>
    <span class="hljs-comment">// TranslationX of the found result.</span>
    <span class="hljs-keyword">for</span> (<span class="hljs-built_in">int</span> resultIdx = <span class="hljs-number">0</span>; resultIdx &lt;= myPMAlignResults.Count - <span class="hljs-number">1</span>; resultIdx++)
    {
      CogPMAlignResult myResult = myPMAlignResults[resultIdx];
      <span class="hljs-keyword">if</span> (mySortedResults.Count == <span class="hljs-number">0</span>)
      {
        mySortedResults.Add(myResult);
      }
      <span class="hljs-keyword">else</span>
      {
        <span class="hljs-built_in">bool</span> isFound = <span class="hljs-literal">false</span>;
        <span class="hljs-built_in">int</span> sortedResultIdx = <span class="hljs-number">0</span>;
        <span class="hljs-keyword">while</span> (!isFound &amp; sortedResultIdx &lt; mySortedResults.Count)
        {
          CogPMAlignResult sortedResult = mySortedResults[sortedResultIdx] <span class="hljs-keyword">as</span>  CogPMAlignResult;
          <span class="hljs-keyword">if</span> (myResult.GetPose().TranslationX &lt; sortedResult.GetPose().TranslationX)
          {
            mySortedResults.Insert(sortedResultIdx, myResult);
            isFound = <span class="hljs-literal">true</span>;
          } 
          sortedResultIdx = sortedResultIdx + <span class="hljs-number">1</span>;
        } 
        <span class="hljs-keyword">if</span> (!isFound)
        {
          mySortedResults.Add(myResult);
        }
      }
    } 
    Outputs.SortResults = mySortedResults; 
     
    <span class="hljs-comment">/* 排序结果测试  
    String outputString = &quot;Sorted X values are :&quot;;
    for(int resultIdx = 0 ;resultIdx &lt; mySortedResults.Count - 1; resultIdx++)
    {
      CogPMAlignResult sortedResult = mySortedResults[resultIdx] as  CogPMAlignResult;
      outputString = outputString + sortedResult.GetPose().TranslationX.ToString();
      outputString = outputString + &quot;, &quot;;
    } 
    System.Windows.Forms.MessageBox.Show(outputString); */</span>
     
    <span class="hljs-comment">//------------------------以上是排序-----------------------------------------------</span>
    
    <span class="hljs-comment">//获取相邻元素之间的间距</span>
    <span class="hljs-built_in">double</span>[] myDistances = <span class="hljs-keyword">new</span> <span class="hljs-built_in">double</span>[mySortedResults.Count];  
    ArrayList SortArray = <span class="hljs-keyword">new</span> ArrayList();
    SortArray.Clear();  
    <span class="hljs-keyword">for</span>(<span class="hljs-built_in">int</span> i = <span class="hljs-number">0</span>; i &lt; mySortedResults.Count - <span class="hljs-number">2</span>;i++){
      CogPMAlignResult myRes ;
      CogPMAlignResult myNextRes ;
      myRes = mySortedResults[i] <span class="hljs-keyword">as</span> CogPMAlignResult;  <span class="hljs-comment">//当前元素</span>
      myNextRes = mySortedResults[i + <span class="hljs-number">1</span>] <span class="hljs-keyword">as</span> CogPMAlignResult; <span class="hljs-comment">//相邻元素</span>
      myDistances[i] = myNextRes.GetPose().TranslationX - myRes.GetPose().TranslationX; 
      SortArray.Add(myDistances[i]);  
    }
    SortArray.Sort(); <span class="hljs-comment">//升序排序</span>
    
    <span class="hljs-comment">/*-- 排序结果测试  
    String outputString = &quot;Sorted distance values are :&quot;;
    for(int resultIdx = 0 ;resultIdx &lt; SortArray.Count - 1; resultIdx++){ 
    outputString = outputString + SortArray[resultIdx].ToString();
    outputString = outputString + &quot;, &quot;;
    } 
    System.Windows.Forms.MessageBox.Show(outputString); */</span><span class="hljs-comment">//</span>
   
    <span class="hljs-comment">//计算距离平均值  </span>
    <span class="hljs-built_in">double</span> myAverageDistance = <span class="hljs-number">0.0</span>; <span class="hljs-comment">//平均距离</span>
    <span class="hljs-built_in">int</span> myNumAverageVals = (<span class="hljs-built_in">int</span>) (mySortedResults.Count * <span class="hljs-number">0.2</span>); 
    <span class="hljs-built_in">int</span> ctr = <span class="hljs-number">0</span>;
    <span class="hljs-keyword">for</span>(<span class="hljs-built_in">int</span> i = (mySortedResults.Count / <span class="hljs-number">2</span>) - (myNumAverageVals / <span class="hljs-number">2</span>) ;  i &lt;= (mySortedResults.Count / <span class="hljs-number">2</span>) + (myNumAverageVals / <span class="hljs-number">2</span>); i++)  
    {
      myAverageDistance = myAverageDistance + (<span class="hljs-built_in">double</span>) SortArray[i];
      ctr = ctr + <span class="hljs-number">1</span>;  <span class="hljs-comment">//统计元素个数</span>
    } 
    myAverageDistance = myAverageDistance / ctr;
    <span class="hljs-comment">//System.Windows.Forms.MessageBox.Show(myAverageDistance.ToString()); </span>
    <span class="hljs-comment">//--------------------------------以上是计算距离 计算平均值---------------------------------------</span>
    <span class="hljs-comment">//---判断结果 生成标注标签 正确的就是标注绿色的圆  有瑕疵的标注红色的框</span>
    labels.Clear();
    Boolean BadBearing = <span class="hljs-literal">false</span>; 
    <span class="hljs-keyword">for</span>(<span class="hljs-built_in">int</span> i = <span class="hljs-number">0</span>; i &lt;= mySortedResults.Count - <span class="hljs-number">1</span>  ;i++)
    {
      CogPointMarker myPMarker = <span class="hljs-keyword">new</span> CogPointMarker();
      CogPMAlignResult myRes;
      
      myRes = mySortedResults[i] <span class="hljs-keyword">as</span> CogPMAlignResult;
      myPMarker.X = myRes.GetPose().TranslationX;
      myPMarker.Y = myRes.GetPose().TranslationY;
      myPMarker.Color = Cognex.VisionPro.CogColorConstants.Green;
      myPMarker.GraphicType = Cognex.VisionPro.CogPointMarkerGraphicTypeConstants.Circle;
      myPMarker.LineWidthInScreenPixels = <span class="hljs-number">2</span>;
      labels.Add(myPMarker); 
      
      <span class="hljs-keyword">if</span>( myDistances[i] &gt; myAverageDistance * <span class="hljs-number">1.2</span>)
      {
        CogPointMarker myPMarker1 = <span class="hljs-keyword">new</span>  CogPointMarker();
        myRes = mySortedResults[i] <span class="hljs-keyword">as</span> CogPMAlignResult;
        myPMarker1.X = myRes.GetPose().TranslationX + (myDistances[i] / <span class="hljs-number">2.0</span>);
        myPMarker1.Y = myRes.GetPose().TranslationY;
        myPMarker1.Color = Cognex.VisionPro.CogColorConstants.Red;
        myPMarker1.GraphicType = Cognex.VisionPro.CogPointMarkerGraphicTypeConstants.Square;
        myPMarker1.LineWidthInScreenPixels = <span class="hljs-number">2</span>;
        labels.Add(myPMarker1);
        BadBearing = <span class="hljs-literal">true</span>;
      }  
    }  
    Outputs.labels = labels;
    <span class="hljs-comment">//----标签生成完毕</span>
    <span class="hljs-keyword">return</span> <span class="hljs-literal">false</span>;
  }

  <span class="hljs-meta">#<span class="hljs-keyword">region</span> When the Script is Initialized</span>
  <span class="hljs-comment"><span class="hljs-doctag">///</span> <span class="hljs-doctag">&lt;summary&gt;</span></span>
  <span class="hljs-comment"><span class="hljs-doctag">///</span> Perform any initialization required by your script here</span>
  <span class="hljs-comment"><span class="hljs-doctag">///</span> <span class="hljs-doctag">&lt;/summary&gt;</span></span>
  <span class="hljs-comment"><span class="hljs-doctag">///</span> <span class="hljs-doctag">&lt;param name=&quot;host&quot;&gt;</span>The host tool<span class="hljs-doctag">&lt;/param&gt;</span></span>
  <span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">override</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Initialize</span>(<span class="hljs-params">Cognex.VisionPro.ToolGroup.CogToolGroup host</span>)</span>
  {
    <span class="hljs-comment">// DO NOT REMOVE - Call the base class implementation first - DO NOT REMOVE</span>
    <span class="hljs-keyword">base</span>.Initialize(host);
  }
  <span class="hljs-meta">#<span class="hljs-keyword">endregion</span></span>

}
<span class="hljs-meta">#<span class="hljs-keyword">region</span> auto-generated</span>
<span class="hljs-comment">// ------------------------------------------------------------------------------</span>
<span class="hljs-comment">//   &lt;auto-generated&gt;</span>
<span class="hljs-comment">//      This code was generated by a tool.</span>
<span class="hljs-comment">//      VisionPro Version: 9.0 CR2</span>
<span class="hljs-comment">//      Generated: 2022-2-24 17:07:26</span>
<span class="hljs-comment">//      Name: CogToolBlockScript, Version: 1.0</span>
<span class="hljs-comment">//      Options:</span>
<span class="hljs-comment">//                IncludeMainScriptClass,     OverrideGroupRun,          </span>
<span class="hljs-comment">//                OverrideInitialize,         IncludeInputsAdapterClass, </span>
<span class="hljs-comment">//                IncludeOutputsAdapterClass, IncludeToolsAdapterClass,  </span>
<span class="hljs-comment">//                ExposeToolBlockReference,   PlaceInAutoGeneratedRegion,</span>
<span class="hljs-comment">//                AdapterClassIsEnumerable,   IncludeRunToolFunction    </span>
<span class="hljs-comment">//  </span>
<span class="hljs-comment">//      Changes to this code below this comment may cause incorrect behavior</span>
<span class="hljs-comment">//      and will be lost if the code is regenerated.</span>
<span class="hljs-comment">//   &lt;/auto-generated&gt;</span>
<span class="hljs-comment">// ------------------------------------------------------------------------------</span>
<span class="hljs-keyword">public</span> <span class="hljs-keyword">class</span> <span class="hljs-title">CogToolBlockAdvancedScript</span> : <span class="hljs-title">CogToolBlockAdvancedScriptBase</span>
{
  <span class="hljs-meta">#<span class="hljs-keyword">region</span> Private Member Variables</span>
  <span class="hljs-keyword">private</span> Cognex.VisionPro.ToolBlock.CogToolBlock mToolBlock;
  <span class="hljs-keyword">private</span> CollectionAdapterInputs mInputs;
  <span class="hljs-keyword">private</span> CollectionAdapterOutputs mOutputs;
  <span class="hljs-meta">#<span class="hljs-keyword">endregion</span></span>

  <span class="hljs-comment"><span class="hljs-doctag">///</span> <span class="hljs-doctag">&lt;summary&gt;</span></span>
  <span class="hljs-comment"><span class="hljs-doctag">///</span> Called when the parent tool is run.</span>
  <span class="hljs-comment"><span class="hljs-doctag">///</span> Add code here to customize or replace the normal run behavior.</span>
  <span class="hljs-comment"><span class="hljs-doctag">///</span> <span class="hljs-doctag">&lt;/summary&gt;</span></span>
  <span class="hljs-comment"><span class="hljs-doctag">///</span> <span class="hljs-doctag">&lt;param name=&quot;message&quot;&gt;</span>Sets the Message in the tool&#x27;s RunStatus.<span class="hljs-doctag">&lt;/param&gt;</span></span>
  <span class="hljs-comment"><span class="hljs-doctag">///</span> <span class="hljs-doctag">&lt;param name=&quot;result&quot;&gt;</span>Sets the Result in the tool&#x27;s RunStatus<span class="hljs-doctag">&lt;/param&gt;</span></span>
  <span class="hljs-comment"><span class="hljs-doctag">///</span> <span class="hljs-doctag">&lt;returns&gt;</span>True if the tool should run normally,</span>
  <span class="hljs-comment"><span class="hljs-doctag">///</span>          False if GroupRun customizes run behavior<span class="hljs-doctag">&lt;/returns&gt;</span></span>
  <span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">override</span> <span class="hljs-built_in">bool</span> <span class="hljs-title">GroupRun</span>(<span class="hljs-params"><span class="hljs-keyword">ref</span> <span class="hljs-built_in">string</span> message, <span class="hljs-keyword">ref</span> CogToolResultConstants result</span>)</span>
  {
    <span class="hljs-comment">// To let the execution stop in this script when a debugger is attached, uncomment the following lines.</span>
    <span class="hljs-comment">// #if DEBUG</span>
    <span class="hljs-comment">// if (System.Diagnostics.Debugger.IsAttached) System.Diagnostics.Debugger.Break();</span>
    <span class="hljs-comment">// #endif</span>

    <span class="hljs-keyword">return</span> <span class="hljs-literal">false</span>;
  }

  <span class="hljs-meta">#<span class="hljs-keyword">region</span> When the Script is Initialized</span>
  <span class="hljs-comment"><span class="hljs-doctag">///</span> <span class="hljs-doctag">&lt;summary&gt;</span></span>
  <span class="hljs-comment"><span class="hljs-doctag">///</span> Perform any initialization required by your script here</span>
  <span class="hljs-comment"><span class="hljs-doctag">///</span> <span class="hljs-doctag">&lt;/summary&gt;</span></span>
  <span class="hljs-comment"><span class="hljs-doctag">///</span> <span class="hljs-doctag">&lt;param name=&quot;host&quot;&gt;</span>The host tool<span class="hljs-doctag">&lt;/param&gt;</span></span>
  <span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">override</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Initialize</span>(<span class="hljs-params">Cognex.VisionPro.ToolGroup.CogToolGroup host</span>)</span>
  {
    <span class="hljs-comment">// DO NOT REMOVE - Call the base class implementation first - DO NOT REMOVE</span>
    <span class="hljs-keyword">base</span>.Initialize(host);
    <span class="hljs-comment">// Initialize convenience types for ToolBlock Inputs, Outputs, and Tools</span>
    <span class="hljs-keyword">this</span>.mInputs = <span class="hljs-keyword">new</span> CollectionAdapterInputs(((Cognex.VisionPro.ToolBlock.CogToolBlock)(host)));
    <span class="hljs-keyword">this</span>.mOutputs = <span class="hljs-keyword">new</span> CollectionAdapterOutputs(((Cognex.VisionPro.ToolBlock.CogToolBlock)(host)));

    <span class="hljs-comment">// Store a local copy of the script host</span>
    <span class="hljs-keyword">this</span>.mToolBlock = ((Cognex.VisionPro.ToolBlock.CogToolBlock)(host));
  }
  <span class="hljs-meta">#<span class="hljs-keyword">endregion</span></span>
  <span class="hljs-comment"><span class="hljs-doctag">///</span> <span class="hljs-doctag">&lt;summary&gt;</span></span>
  <span class="hljs-comment"><span class="hljs-doctag">///</span> Access the Tool&#x27;s Inputs through an adapter class</span>
  <span class="hljs-comment"><span class="hljs-doctag">///</span> <span class="hljs-doctag">&lt;/summary&gt;</span></span>
  <span class="hljs-keyword">public</span> CollectionAdapterInputs Inputs
  {
    <span class="hljs-keyword">get</span>
    {
      <span class="hljs-keyword">return</span> <span class="hljs-keyword">this</span>.mInputs;
    }
  }
  <span class="hljs-comment"><span class="hljs-doctag">///</span> <span class="hljs-doctag">&lt;summary&gt;</span></span>
  <span class="hljs-comment"><span class="hljs-doctag">///</span> Access the Tool&#x27;s Outputs through an adapter class</span>
  <span class="hljs-comment"><span class="hljs-doctag">///</span> <span class="hljs-doctag">&lt;/summary&gt;</span></span>
  <span class="hljs-keyword">public</span> CollectionAdapterOutputs Outputs
  {
    <span class="hljs-keyword">get</span>
    {
      <span class="hljs-keyword">return</span> <span class="hljs-keyword">this</span>.mOutputs;
    }
  }
  <span class="hljs-meta">#<span class="hljs-keyword">region</span> Public Methods</span>
  <span class="hljs-comment"><span class="hljs-doctag">///</span> <span class="hljs-doctag">&lt;summary&gt;</span></span>
  <span class="hljs-comment"><span class="hljs-doctag">///</span> Called from a script to run a tool.</span>
  <span class="hljs-comment"><span class="hljs-doctag">///</span> <span class="hljs-doctag">&lt;/summary&gt;</span></span>
  <span class="hljs-comment"><span class="hljs-doctag">///</span> <span class="hljs-doctag">&lt;param name=&quot;tool&quot;&gt;</span>The tool to run.<span class="hljs-doctag">&lt;/param&gt;</span></span>
  <span class="hljs-comment"><span class="hljs-doctag">///</span> <span class="hljs-doctag">&lt;param name=&quot;message&quot;&gt;</span>The RunStatus Message.<span class="hljs-doctag">&lt;/param&gt;</span></span>
  <span class="hljs-comment"><span class="hljs-doctag">///</span> <span class="hljs-doctag">&lt;param name=&quot;result&quot;&gt;</span>The RunStatus Result.<span class="hljs-doctag">&lt;/param&gt;</span></span>
  <span class="hljs-comment"><span class="hljs-doctag">///</span> <span class="hljs-doctag">&lt;exception cref=&quot;System.Exception&quot;&gt;</span></span>
  <span class="hljs-comment"><span class="hljs-doctag">///</span> Thrown when <span class="hljs-doctag">&lt;paramref name=&quot;tool&quot;/&gt;</span> returns and </span>
  <span class="hljs-comment"><span class="hljs-doctag">///</span> the calling tool&#x27;s AbortRunOnToolFailure property is True.<span class="hljs-doctag">&lt;/exception&gt;</span></span>
  <span class="hljs-function"><span class="hljs-keyword">protected</span> <span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">RunTool</span>(<span class="hljs-params">Cognex.VisionPro.ICogTool tool, <span class="hljs-keyword">ref</span> <span class="hljs-built_in">string</span> message, <span class="hljs-keyword">ref</span> CogToolResultConstants result</span>)</span>
  {
    <span class="hljs-keyword">this</span>.mToolBlock.RunTool(tool, <span class="hljs-keyword">ref</span> message, <span class="hljs-keyword">ref</span> result);
  }
  <span class="hljs-meta">#<span class="hljs-keyword">endregion</span></span>
}
<span class="hljs-meta">#<span class="hljs-keyword">region</span> Adapter Classes</span>
<span class="hljs-keyword">public</span> <span class="hljs-keyword">class</span> <span class="hljs-title">CollectionAdapterInputs</span>
{
  <span class="hljs-keyword">private</span> Cognex.VisionPro.ToolBlock.CogToolBlock mToolBlock;
  <span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-title">CollectionAdapterInputs</span>(<span class="hljs-params">Cognex.VisionPro.ToolBlock.CogToolBlock toolBlock</span>)</span>
  {
    <span class="hljs-keyword">this</span>.mToolBlock = toolBlock;
  }
  <span class="hljs-keyword">public</span> Cognex.VisionPro.PMAlign.CogPMAlignResults Results
  {
    <span class="hljs-keyword">get</span>
    {
      <span class="hljs-keyword">try</span>
      {
        <span class="hljs-keyword">return</span> ((Cognex.VisionPro.PMAlign.CogPMAlignResults)(<span class="hljs-keyword">this</span>.mToolBlock.Inputs[<span class="hljs-string">&quot;Results&quot;</span>].Value));
      }
      <span class="hljs-keyword">catch</span> (System.Exception ex)
      {
        <span class="hljs-keyword">throw</span> <span class="hljs-keyword">new</span> System.Exception(String.Format(Cognex.VisionPro.CogLocalizer.GetString(<span class="hljs-keyword">typeof</span>(Cognex.VisionPro.ToolGroup.Resources.CogResourceKeys), Cognex.VisionPro.ToolGroup.Resources.CogResourceKeys.RkScritptAdapterMemberAccessError), <span class="hljs-keyword">this</span>.mToolBlock.Name, <span class="hljs-string">&quot;Inputs.Results&quot;</span>), ex);
      }
    }
  }
}

<span class="hljs-keyword">public</span> <span class="hljs-keyword">class</span> <span class="hljs-title">CollectionAdapterOutputs</span>
{
  <span class="hljs-keyword">private</span> Cognex.VisionPro.ToolBlock.CogToolBlock mToolBlock;
  <span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-title">CollectionAdapterOutputs</span>(<span class="hljs-params">Cognex.VisionPro.ToolBlock.CogToolBlock toolBlock</span>)</span>
  {
    <span class="hljs-keyword">this</span>.mToolBlock = toolBlock;
  }
  <span class="hljs-keyword">public</span> System.Collections.ArrayList SortResults
  {
    <span class="hljs-keyword">get</span>
    {
      <span class="hljs-keyword">try</span>
      {
        <span class="hljs-keyword">return</span> ((System.Collections.ArrayList)(<span class="hljs-keyword">this</span>.mToolBlock.Outputs[<span class="hljs-string">&quot;SortResults&quot;</span>].Value));
      }
      <span class="hljs-keyword">catch</span> (System.Exception ex)
      {
        <span class="hljs-keyword">throw</span> <span class="hljs-keyword">new</span> System.Exception(String.Format(Cognex.VisionPro.CogLocalizer.GetString(<span class="hljs-keyword">typeof</span>(Cognex.VisionPro.ToolGroup.Resources.CogResourceKeys), Cognex.VisionPro.ToolGroup.Resources.CogResourceKeys.RkScritptAdapterMemberAccessError), <span class="hljs-keyword">this</span>.mToolBlock.Name, <span class="hljs-string">&quot;Outputs.SortResults&quot;</span>), ex);
      }
    }
    <span class="hljs-keyword">set</span>
    {
      <span class="hljs-keyword">this</span>.mToolBlock.Outputs[<span class="hljs-string">&quot;SortResults&quot;</span>].Value = <span class="hljs-keyword">value</span>;
    }
  }
  <span class="hljs-keyword">public</span> System.Collections.ArrayList labels
  {
    <span class="hljs-keyword">get</span>
    {
      <span class="hljs-keyword">try</span>
      {
        <span class="hljs-keyword">return</span> ((System.Collections.ArrayList)(<span class="hljs-keyword">this</span>.mToolBlock.Outputs[<span class="hljs-string">&quot;labels&quot;</span>].Value));
      }
      <span class="hljs-keyword">catch</span> (System.Exception ex)
      {
        <span class="hljs-keyword">throw</span> <span class="hljs-keyword">new</span> System.Exception(String.Format(Cognex.VisionPro.CogLocalizer.GetString(<span class="hljs-keyword">typeof</span>(Cognex.VisionPro.ToolGroup.Resources.CogResourceKeys), Cognex.VisionPro.ToolGroup.Resources.CogResourceKeys.RkScritptAdapterMemberAccessError), <span class="hljs-keyword">this</span>.mToolBlock.Name, <span class="hljs-string">&quot;Outputs.labels&quot;</span>), ex);
      }
    }
    <span class="hljs-keyword">set</span>
    {
      <span class="hljs-keyword">this</span>.mToolBlock.Outputs[<span class="hljs-string">&quot;labels&quot;</span>].Value = <span class="hljs-keyword">value</span>;
    }
  }
}
<span class="hljs-meta">#<span class="hljs-keyword">endregion</span></span>
<span class="hljs-meta">#<span class="hljs-keyword">endregion</span></span>
</code></pre>
<p></code></pre></details></p>
  <details class="custom-block details" style="display: block; position: relative; border-radius: 2px; margin: 1.6em 0px; padding: 1.6em; background-color: rgb(238, 238, 238); color: rgb(44, 62, 80); font-family: -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, Roboto, Oxygen, Ubuntu, Cantarell, &quot;Fira Sans&quot;, &quot;Droid Sans&quot;, &quot;Helvetica Neue&quot;, sans-serif; font-size: 16px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;"><summary style="outline: none; cursor: pointer;">高级脚本代码 ——showResult</summary><pre><code class="language-c#">
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-meta">#<span class="hljs-keyword">region</span> namespace imports</span>
<span class="hljs-keyword">using</span> System;
<span class="hljs-keyword">using</span> System.Collections;
<span class="hljs-keyword">using</span> System.Drawing;
<span class="hljs-keyword">using</span> System.IO;
<span class="hljs-keyword">using</span> System.Windows.Forms;
<span class="hljs-keyword">using</span> Cognex.VisionPro;
<span class="hljs-keyword">using</span> Cognex.VisionPro.ToolBlock;
<span class="hljs-keyword">using</span> Cognex.VisionPro3D;

<span class="hljs-keyword">using</span>  Cognex.VisionPro.Implementation;

<span class="hljs-meta">#<span class="hljs-keyword">endregion</span></span>

<span class="hljs-keyword">public</span> <span class="hljs-keyword">class</span> <span class="hljs-title">CogToolBlockAdvancedScript</span> : <span class="hljs-title">CogToolBlockAdvancedScriptBase</span>
{
  <span class="hljs-meta">#<span class="hljs-keyword">region</span> Private Member Variables</span>
  <span class="hljs-keyword">private</span> Cognex.VisionPro.ToolBlock.CogToolBlock mToolBlock;
  <span class="hljs-meta">#<span class="hljs-keyword">endregion</span></span>

  <span class="hljs-comment"><span class="hljs-doctag">///</span> <span class="hljs-doctag">&lt;summary&gt;</span></span>
  <span class="hljs-comment"><span class="hljs-doctag">///</span> Called when the parent tool is run.</span>
  <span class="hljs-comment"><span class="hljs-doctag">///</span> Add code here to customize or replace the normal run behavior.</span>
  <span class="hljs-comment"><span class="hljs-doctag">///</span> <span class="hljs-doctag">&lt;/summary&gt;</span></span>
  <span class="hljs-comment"><span class="hljs-doctag">///</span> <span class="hljs-doctag">&lt;param name=&quot;message&quot;&gt;</span>Sets the Message in the tool&#x27;s RunStatus.<span class="hljs-doctag">&lt;/param&gt;</span></span>
  <span class="hljs-comment"><span class="hljs-doctag">///</span> <span class="hljs-doctag">&lt;param name=&quot;result&quot;&gt;</span>Sets the Result in the tool&#x27;s RunStatus<span class="hljs-doctag">&lt;/param&gt;</span></span>
  <span class="hljs-comment"><span class="hljs-doctag">///</span> <span class="hljs-doctag">&lt;returns&gt;</span>True if the tool should run normally,</span>
  <span class="hljs-comment"><span class="hljs-doctag">///</span>          False if GroupRun customizes run behavior<span class="hljs-doctag">&lt;/returns&gt;</span></span>
  <span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">override</span> <span class="hljs-built_in">bool</span> <span class="hljs-title">GroupRun</span>(<span class="hljs-params"><span class="hljs-keyword">ref</span> <span class="hljs-built_in">string</span> message, <span class="hljs-keyword">ref</span> CogToolResultConstants result</span>)</span>
  {
    <span class="hljs-comment">// To let the execution stop in this script when a debugger is attached, uncomment the following lines.</span>
    <span class="hljs-comment">// #if DEBUG</span>
    <span class="hljs-comment">// if (System.Diagnostics.Debugger.IsAttached) System.Diagnostics.Debugger.Break();</span>
    <span class="hljs-comment">// #endif</span>


    <span class="hljs-comment">// Run each tool using the RunTool function</span>
    <span class="hljs-keyword">foreach</span>(ICogTool tool <span class="hljs-keyword">in</span> mToolBlock.Tools)
      mToolBlock.RunTool(tool, <span class="hljs-keyword">ref</span> message, <span class="hljs-keyword">ref</span> result);

    <span class="hljs-keyword">return</span> <span class="hljs-literal">false</span>;
  }

  <span class="hljs-meta">#<span class="hljs-keyword">region</span> When the Current Run Record is Created</span>
  <span class="hljs-comment"><span class="hljs-doctag">///</span> <span class="hljs-doctag">&lt;summary&gt;</span></span>
  <span class="hljs-comment"><span class="hljs-doctag">///</span> Called when the current record may have changed and is being reconstructed</span>
  <span class="hljs-comment"><span class="hljs-doctag">///</span> <span class="hljs-doctag">&lt;/summary&gt;</span></span>
  <span class="hljs-comment"><span class="hljs-doctag">///</span> <span class="hljs-doctag">&lt;param name=&quot;currentRecord&quot;&gt;</span></span>
  <span class="hljs-comment"><span class="hljs-doctag">///</span> The new currentRecord is available to be initialized or customized.<span class="hljs-doctag">&lt;/param&gt;</span></span>
  <span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">override</span> <span class="hljs-keyword">void</span> <span class="hljs-title">ModifyCurrentRunRecord</span>(<span class="hljs-params">Cognex.VisionPro.ICogRecord currentRecord</span>)</span>
  {
  }
  <span class="hljs-meta">#<span class="hljs-keyword">endregion</span></span>

  <span class="hljs-meta">#<span class="hljs-keyword">region</span> When the Last Run Record is Created</span>
  <span class="hljs-comment"><span class="hljs-doctag">///</span> <span class="hljs-doctag">&lt;summary&gt;</span></span>
  <span class="hljs-comment"><span class="hljs-doctag">///</span> Called when the last run record may have changed and is being reconstructed</span>
  <span class="hljs-comment"><span class="hljs-doctag">///</span> <span class="hljs-doctag">&lt;/summary&gt;</span></span>
  <span class="hljs-comment"><span class="hljs-doctag">///</span> <span class="hljs-doctag">&lt;param name=&quot;lastRecord&quot;&gt;</span></span>
  <span class="hljs-comment"><span class="hljs-doctag">///</span> The new last run record is available to be initialized or customized.<span class="hljs-doctag">&lt;/param&gt;</span></span>
  <span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">override</span> <span class="hljs-keyword">void</span> <span class="hljs-title">ModifyLastRunRecord</span>(<span class="hljs-params">Cognex.VisionPro.ICogRecord lastRecord</span>)</span>
  {
    CogImage8Grey myOutputImage = mToolBlock.Inputs[<span class="hljs-string">&quot;OutputImage&quot;</span>].Value  <span class="hljs-keyword">as</span> CogImage8Grey; 
    CogRecord leftRec = <span class="hljs-keyword">new</span> CogRecord(<span class="hljs-string">&quot;Evaluation.OutputImage&quot;</span>, myOutputImage.GetType(),
      CogRecordUsageConstants.Result, <span class="hljs-literal">false</span>, myOutputImage, <span class="hljs-string">&quot;Evaluation.OutputImage&quot;</span>);
    lastRecord.SubRecords.Add(leftRec);
    ArrayList labels = mToolBlock.Inputs[<span class="hljs-string">&quot;labels&quot;</span>].Value  <span class="hljs-keyword">as</span> ArrayList;  
    <span class="hljs-keyword">foreach</span>( CogPointMarker label  <span class="hljs-keyword">in</span>  labels  )  <span class="hljs-comment">//item 图形集合中的任意一个元素 </span>
    {
      <span class="hljs-comment">//MessageBox.Show(label.X.ToString());</span>
      mToolBlock.AddGraphicToRunRecord(label, lastRecord, <span class="hljs-string">&quot;Evaluation.OutputImage&quot;</span>, <span class="hljs-string">&quot;script&quot;</span>); 
    }   
    
  }
  <span class="hljs-meta">#<span class="hljs-keyword">endregion</span></span>

  <span class="hljs-meta">#<span class="hljs-keyword">region</span> When the Script is Initialized</span>
  <span class="hljs-comment"><span class="hljs-doctag">///</span> <span class="hljs-doctag">&lt;summary&gt;</span></span>
  <span class="hljs-comment"><span class="hljs-doctag">///</span> Perform any initialization required by your script here</span>
  <span class="hljs-comment"><span class="hljs-doctag">///</span> <span class="hljs-doctag">&lt;/summary&gt;</span></span>
  <span class="hljs-comment"><span class="hljs-doctag">///</span> <span class="hljs-doctag">&lt;param name=&quot;host&quot;&gt;</span>The host tool<span class="hljs-doctag">&lt;/param&gt;</span></span>
  <span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">override</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Initialize</span>(<span class="hljs-params">Cognex.VisionPro.ToolGroup.CogToolGroup host</span>)</span>
  {
    <span class="hljs-comment">// DO NOT REMOVE - Call the base class implementation first - DO NOT REMOVE</span>
    <span class="hljs-keyword">base</span>.Initialize(host);


    <span class="hljs-comment">// Store a local copy of the script host</span>
    <span class="hljs-keyword">this</span>.mToolBlock = ((Cognex.VisionPro.ToolBlock.CogToolBlock)(host));
  }
  <span class="hljs-meta">#<span class="hljs-keyword">endregion</span></span>

}
</code></pre>
<p></code></pre></details></p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/自我提升">自我提升</category>
        </item>
        <item>
            <title><![CDATA[VisionPro练习—获取回行针得分]]></title>
            <link>http://blog.wilsonzy.cn/post/80</link>
            <guid>http://blog.wilsonzy.cn/post/80</guid>
            <pubDate>Wed, 11 Dec 2024 12:37:50 GMT</pubDate>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <!-- more -->
<p><strong>获取回行针得分</strong></p>
<p><img src="/static/img/59adf876319eda2f990e85ce8709d1a2.image.png" alt="image.png"></p>
<p>模板匹配  抓取训练图像</p>
<p><img src="/static/img/0b4b7fc873e96f25f909ba439a8251ba.image.png" alt="image.png"></p>
<p><img src="/static/img/72e43a967d92a25e346c3ca629b38e1d.image.png" alt="image.png"></p>
<p><img src="/static/img/e99003374a1335324559821c448e4262.image.png" alt="image.png"></p>
<p>训练完成</p>
<p><img src="/static/img/e9838d5170f012927f1ddfc6b6d6d571.image.png" alt="image.png"></p>
<p>高级语言</p>
<p><img src="/static/img/0cbf9e70857b69e47086a151a9042df9.image.png" alt="image.png"></p>
<p>引入泛型列表 命名空间</p>
<p><img src="/static/img/ce18e55aa44789889148ae6de31edc1f.image.png" alt="image.png"></p>
<p>获取工具及其结果</p>
<p><img src="/static/img/c28810b96cee9615f938ffd1c34cc1a3.image.png" alt="image.png"></p>
<p>遍历列表中的数据并显示在图像上</p>
<p><img src="/static/img/99f5657dd31f2c96440868363b2d5bc6.image.png" alt="image.png"></p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/自我提升">自我提升</category>
        </item>
        <item>
            <title><![CDATA[VisionPro练习—车牌识别]]></title>
            <link>http://blog.wilsonzy.cn/post/79</link>
            <guid>http://blog.wilsonzy.cn/post/79</guid>
            <pubDate>Wed, 11 Dec 2024 12:35:16 GMT</pubDate>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <!-- more -->
<p><strong>车牌识别</strong></p>
<p><img src="/static/img/4d3b65f7a47e4202430984be8956fe2f.image.png" alt="image.png"></p>
<p>颜色转换成灰度图像</p>
<p><img src="/static/img/91620a298a63d088bb49639458741eed.image.png" alt="image.png"></p>
<p>模板匹配  抓取训练图像</p>
<p><img src="/static/img/582440b456fb02e802c2c6d58bf03375.image.png" alt="image.png"></p>
<p>用掩膜编辑器将不需要的掩膜掉</p>
<p><img src="/static/img/29c0078cf7c10cee8aa1c7dce34d4646.image.png" alt="image.png"></p>
<p><img src="/static/img/6dbeafcc59a70c9e001931ae03297a9f.image.png" alt="image.png"></p>
<p><img src="/static/img/6a8df036af83821ac7ab3f45969a7665.image.png" alt="image.png"></p>
<p><img src="/static/img/ca549c693ae137eee5c6e5b1e8c3bbbf.image.png" alt="image.png"></p>
<p>定位工具</p>
<p><img src="/static/img/ae07e16c935c252b7880da4120df9f88.image.png" alt="image.png"></p>
<p>字符提取</p>
<p><img src="/static/img/ea92e4ac09b6265e16617c47ea69e203.image.png" alt="image.png"></p>
<p><img src="/static/img/8e6a773de32f3dffff8c7008d1dbeb70.image.png" alt="image.png"></p>
<p>用文字标签工具将识别到的车牌显示在图像上</p>
<p><img src="/static/img/27ff6fffe6f9b3f9d4459a1f68302771.image.png" alt="image.png"></p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/自我提升">自我提升</category>
        </item>
        <item>
            <title><![CDATA[VisionPro练习—饼干口味颜色识别]]></title>
            <link>http://blog.wilsonzy.cn/post/78</link>
            <guid>http://blog.wilsonzy.cn/post/78</guid>
            <pubDate>Wed, 11 Dec 2024 12:31:54 GMT</pubDate>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <!-- more -->
<p><strong>饼干口味颜色识别</strong></p>
<p><img src="/static/img/3bfd45a36dfbd04c2384fb4d4d6d9abe.image.png" alt="image.png"></p>
<p>图像转换    将输入图像转换成灰度图像</p>
<p><img src="/static/img/dde841e8bd1703e7b1b30c7d12115ac2.image.png" alt="image.png"></p>
<p>模板匹配   抓取训练图像</p>
<p><img src="/static/img/26d28a4806ab15d8589aa0f95e27885a.image.png" alt="image.png"></p>
<p><img src="/static/img/f4fa1b71f2eee65fa3d6c51654279872.image.png" alt="image.png"></p>
<p>训练坐标点为五角星上</p>
<p><img src="/static/img/cfb03d682454a9b498f212de0d677eb3.image.png" alt="image.png"></p>
<p>训练完成</p>
<p><img src="/static/img/07be290b24e7ab36c44416331fd43fa6.image.png" alt="image.png"></p>
<p>定位工具</p>
<p><img src="/static/img/e6073aac25df4b0b1c713af4b178c7d3.image.png" alt="image.png"></p>
<p>添加需要提取的多种颜色</p>
<p><img src="/static/img/dc3157e7f4e2051ed6deabb7d7475c13.image.png" alt="image.png"></p>
<p><img src="/static/img/03f1c243139be94f5688af2f8f83afcc.image.png" alt="image.png"></p>
<p>将提取颜色的分数用数据分析工具分析</p>
<p><img src="/static/img/df3350fdf6b2cd6c2dafe5abec41915e.image.png" alt="image.png"></p>
<p>并将结果用文字标签工具 显示在图像上</p>
<p><img src="/static/img/c24985e0eb88f3964d76299943d4ed25.image.png" alt="image.png"></p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/自我提升">自我提升</category>
        </item>
        <item>
            <title><![CDATA[VisionPro练习—标注红色药片数量]]></title>
            <link>http://blog.wilsonzy.cn/post/77</link>
            <guid>http://blog.wilsonzy.cn/post/77</guid>
            <pubDate>Wed, 11 Dec 2024 12:28:44 GMT</pubDate>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <!-- more -->
<p><strong>标注红色药片数量</strong></p>
<p><img src="/static/img/76dee183b3258684816f47899711d413.image.png" alt="image.png"></p>
<p>新增需要提取的颜色</p>
<p><img src="/static/img/b28184cb9d6bc21cb59b3e68c4f92988.image.png" alt="image.png"></p>
<p>图像转换       膨胀处理</p>
<p><img src="/static/img/78a1169aaee677ec583dc4390cba8598.image.png" alt="image.png"></p>
<p><img src="/static/img/c46e31e972733d455cd11febc71eb095.image.png" alt="image.png"></p>
<p>斑点工具找寻药片</p>
<p><img src="/static/img/8ae812562947f394e82a1f157e472f10.image.png" alt="image.png"></p>
<p>将不需要的过滤掉</p>
<p><img src="/static/img/675a305bb66a742f4e3ad5c93cf9ec2d.image.png" alt="image.png"></p>
<p><img src="/static/img/c2502c4d8c9856e680647c63f1024e23.image.png" alt="image.png"></p>
<p>将斑点工具找寻的药片数量用结果分析工具分析</p>
<p><img src="/static/img/d70fd2f10773a7875d1ea9826c2556e5.image.png" alt="image.png"></p>
<p>高级脚本 处理药片是否为合格品</p>
<p><img src="/static/img/afd4712fef41122201b16624c6e4821d.image.png" alt="image.png"></p>
<p>将结果用文字标签工具显示在图像上</p>
<p><img src="/static/img/2e5568ad946733e419f95f596eee1c78.image.png" alt="image.png"></p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/自我提升">自我提升</category>
        </item>
        <item>
            <title><![CDATA[VisionPro练习—标注多个圆孔面积]]></title>
            <link>http://blog.wilsonzy.cn/post/76</link>
            <guid>http://blog.wilsonzy.cn/post/76</guid>
            <pubDate>Wed, 11 Dec 2024 12:24:20 GMT</pubDate>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <!-- more -->
<p><strong>标注多个圆孔面积</strong></p>
<p><img src="/static/img/5ae1fb130025807b1e7c96675ed5feef.image.png" alt="image.png"></p>
<p>斑点工具</p>
<p><img src="/static/img/16c9e179c7a989c3487beb182f6e4f30.image.png" alt="image.png"></p>
<p>创建脚本</p>
<p><img src="/static/img/fade89375344d63cc4c6146be200b8a9.image.png" alt="image.png"></p>
<p>引入泛型集合命名空间</p>
<p><img src="/static/img/00ab4225c3e57dfb841f578a6d94115d.image.png" alt="image.png"></p>
<p><img src="/static/img/dfdf37410103e2b00a01b512efc5b8d8.image.png" alt="image.png"></p>
<p>:::note{title=&quot;定义一个泛型集合列表  &quot;}<br>
<code>List&lt;CogGraphicLabel&gt;  myLabel = new List&lt;CogGraphicLabel&gt;(); </code><br>
:::</p>
<p><img src="/static/img/8f99e113ed69b53a72fc0766b328508c.image.png" alt="image.png"></p>
<p>获取工具及其结果<br>
<img src="/static/img/27ac5e2b204f84f40638088ab2aa7c67.image.png" alt="image.png"><br>
遍历集合中的所有斑点，并显示在图像上</p>
<p><img src="/static/img/e0906b729ba759e490da58d7fb44d180.image.png" alt="image.png"></p>
<p><img src="/static/img/f767173f6f8fe1c5229b91abcf66f065.image.png" alt="image.png"></p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/自我提升">自我提升</category>
        </item>
        <item>
            <title><![CDATA[VisionPro练习—保险丝分类统计]]></title>
            <link>http://blog.wilsonzy.cn/post/75</link>
            <guid>http://blog.wilsonzy.cn/post/75</guid>
            <pubDate>Wed, 11 Dec 2024 12:18:56 GMT</pubDate>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <!-- more -->
<p><strong>保险丝分类统计</strong></p>
<p><img src="/static/img/ea42c956d0d96723d1c34a7b59e4dca0.image.png" alt="image.png"></p>
<p>新建需要提取的颜色</p>
<p><img src="/static/img/a67e4fae8373d847df3442fa4874ec90.image.png" alt="image.png"></p>
<p>图像简单处理</p>
<p><img src="/static/img/4fcf9ef0fc35c41bebf2c92d3aa733eb.image.png" alt="image.png"></p>
<p>膨胀处理</p>
<p><img src="/static/img/ccea9836c3bdb7b413ff4fc28b919793.image.png" alt="image.png"></p>
<p>斑点工具</p>
<p><img src="/static/img/e5abc01c88394144a741e7292b81fb7e.image.png" alt="image.png"></p>
<p>过滤不需要的</p>
<p><img src="/static/img/4f08e46461c1bc39657ddb6b4e41126d.image.png" alt="image.png"></p>
<p><img src="/static/img/00231d9d728c88ec1f49eb8dde6b9184.image.png" alt="image.png"></p>
<p>将斑点工具找到的结果用文字标签工具显示在图像上</p>
<p><img src="/static/img/77594d27f507661fcadb5627854a68a4.image.png" alt="image.png"></p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/自我提升">自我提升</category>
        </item>
        <item>
            <title><![CDATA[equals方法扩展]]></title>
            <link>http://blog.wilsonzy.cn/post/74</link>
            <guid>http://blog.wilsonzy.cn/post/74</guid>
            <pubDate>Fri, 30 May 2025 09:14:27 GMT</pubDate>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <!-- more -->
<p>Program.cs</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-keyword">using</span> System;

<span class="hljs-keyword">namespace</span> <span class="hljs-title">Equals</span>判断相等 {
  <span class="hljs-keyword">class</span> <span class="hljs-title">Program</span> {
    <span class="hljs-function"><span class="hljs-keyword">static</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Main</span>(<span class="hljs-params"><span class="hljs-built_in">string</span>[] args</span>)</span> {
      <span class="hljs-comment">//ToString Equals Object</span>
      <span class="hljs-built_in">int</span> a = <span class="hljs-number">12</span>;
      <span class="hljs-built_in">int</span> b = <span class="hljs-number">34</span>;
      Console.WriteLine(a.Equals(b)); <span class="hljs-comment">// 值为Flase  a == b</span>

      <span class="hljs-built_in">string</span> str1 = <span class="hljs-string">&quot;siki&quot;</span>;
      <span class="hljs-built_in">string</span> str2 = <span class="hljs-string">&quot;siki&quot;</span>;
      Console.WriteLine(str1.Equals(str2));

      Student stu1 = <span class="hljs-keyword">new</span> Student(<span class="hljs-number">18</span>, <span class="hljs-string">&quot;小芳&quot;</span>);
      Student stu2 = <span class="hljs-keyword">new</span> Student(<span class="hljs-number">18</span>, <span class="hljs-string">&quot;小芳&quot;</span>);
      <span class="hljs-comment">//默认方法值为Flase         重写Equals方法后值为True</span>
      Console.WriteLine(stu1.Equals(stu2));
      Console.WriteLine(stu1 == stu2);
    }
  }
}

</code></pre>
<p>:::tip{title=&quot;提示&quot;}</p>
<ul>
<li>所有值类型、字符串比较就相当于a==b</li>
<li>引用类型用Equals作比较时，比较的是引用地址，若需比较引用地址中的数据值，则需重写Equals方法<br>
:::<br>
Student.cs</li>
</ul>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-keyword">using</span> System;
<span class="hljs-keyword">using</span> System.Collections.Generic;
<span class="hljs-keyword">using</span> System.Text;

<span class="hljs-keyword">namespace</span> <span class="hljs-title">Equals</span>判断相等 {
  <span class="hljs-keyword">class</span> <span class="hljs-title">Student</span> {
    <span class="hljs-keyword">private</span> <span class="hljs-built_in">int</span> age;
    <span class="hljs-keyword">private</span> <span class="hljs-built_in">string</span> name;

    <span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-title">Student</span>(<span class="hljs-params"><span class="hljs-built_in">int</span> age, <span class="hljs-built_in">string</span> name</span>)</span> {
      <span class="hljs-keyword">this</span>.age = age;
      <span class="hljs-keyword">this</span>.name = name;
    }

    <span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">override</span> <span class="hljs-built_in">bool</span> <span class="hljs-title">Equals</span>(<span class="hljs-params"><span class="hljs-built_in">object</span> obj</span>) <span class="hljs-comment">//重写Equals方法</span></span>
    {
      Student stu = (Student) obj; <span class="hljs-comment">//强制转换</span>
      <span class="hljs-keyword">if</span> (age == stu.age &amp;&amp; name == stu.name) {
        <span class="hljs-keyword">return</span> <span class="hljs-literal">true</span>;
      }
      <span class="hljs-keyword">return</span> <span class="hljs-literal">false</span>;
    }
  }
}

</code></pre>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/自我提升">自我提升</category>
        </item>
        <item>
            <title><![CDATA[集合类MyList ]]></title>
            <link>http://blog.wilsonzy.cn/post/73</link>
            <guid>http://blog.wilsonzy.cn/post/73</guid>
            <pubDate>Fri, 30 May 2025 09:15:40 GMT</pubDate>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <!-- more -->
<p>myList.cs</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-keyword">using</span> System;
<span class="hljs-keyword">using</span> System.Collections.Generic;
<span class="hljs-keyword">using</span> System.Text;

<span class="hljs-keyword">namespace</span> <span class="hljs-title">MyList</span>列表 {
  <span class="hljs-keyword">class</span> <span class="hljs-title">MyList</span> &lt; <span class="hljs-title">T</span> &gt; {
    <span class="hljs-keyword">private</span> T[] data = <span class="hljs-keyword">new</span> T[<span class="hljs-number">0</span>]; <span class="hljs-comment">//data null</span>
    <span class="hljs-keyword">private</span> <span class="hljs-built_in">int</span> count = <span class="hljs-number">0</span>; <span class="hljs-comment">// 元素个数 数据个数</span>

    <span class="hljs-keyword">public</span> <span class="hljs-built_in">int</span> Capacity <span class="hljs-comment">//获取容量大小</span>
    {
      <span class="hljs-keyword">get</span> {
        <span class="hljs-keyword">return</span> data.Length;
      }
    }
    <span class="hljs-keyword">public</span> <span class="hljs-built_in">int</span> Count <span class="hljs-comment">//获取元素个数</span>
    {
      <span class="hljs-keyword">get</span> {
        <span class="hljs-keyword">return</span> count;
      }
    }

    <span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Add</span>(<span class="hljs-params">T item</span>) <span class="hljs-comment">//添加元素</span></span>
    {
      <span class="hljs-keyword">if</span> (data.Length == <span class="hljs-number">0</span>) {
        data = <span class="hljs-keyword">new</span> T[<span class="hljs-number">4</span>];
      }
      <span class="hljs-keyword">if</span> (data.Length == count) <span class="hljs-comment">//添加元素之前 ，先判断数组是否已经满</span>
      {
        T[] temp = <span class="hljs-keyword">new</span> T[count * <span class="hljs-number">2</span>];
        <span class="hljs-keyword">for</span> (<span class="hljs-built_in">int</span> i = <span class="hljs-number">0</span>; i &lt; data.Length; i++) {
          temp[i] = data[i];
        }
        data = temp;
      }
      data[count] = item;
      count++;
    }

    <span class="hljs-keyword">public</span> T <span class="hljs-keyword">this</span>[<span class="hljs-built_in">int</span> index] <span class="hljs-comment">//访问元素</span>
    {
      <span class="hljs-keyword">get</span> {
        <span class="hljs-keyword">if</span> (index &lt; <span class="hljs-number">0</span> || index &gt; count - <span class="hljs-number">1</span>) { <span class="hljs-comment">//抛出异常</span>
          <span class="hljs-keyword">throw</span> <span class="hljs-keyword">new</span> ArgumentOutOfRangeException(<span class="hljs-string">&quot;索引参数超出范围了&quot;</span>);
        }
        <span class="hljs-keyword">return</span> data[index];
      }
      <span class="hljs-keyword">set</span> {
        data[index] = <span class="hljs-keyword">value</span>;
      }
    }

    <span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Insert</span>(<span class="hljs-params"><span class="hljs-built_in">int</span> index, T item</span>) <span class="hljs-comment">//插入元素</span></span>
    {
      <span class="hljs-keyword">if</span> (index &lt; <span class="hljs-number">0</span> || index &gt; count - <span class="hljs-number">1</span>) <span class="hljs-comment">//判断是否存在索引</span>
      {
        <span class="hljs-keyword">throw</span> <span class="hljs-keyword">new</span> ArgumentOutOfRangeException(<span class="hljs-string">&quot;索引参数超出范围了&quot;</span>);
      }

      <span class="hljs-keyword">for</span> (<span class="hljs-built_in">int</span> i = count - <span class="hljs-number">1</span>; i &gt; index - <span class="hljs-number">1</span>; i--) {
        <span class="hljs-comment">// count-1     index</span>
        data[i + <span class="hljs-number">1</span>] = data[i];
      }
      data[index] = item;
      count++;
    }
    <span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">void</span> <span class="hljs-title">RemoveAt</span>(<span class="hljs-params"><span class="hljs-built_in">int</span> index</span>) <span class="hljs-comment">//移除指定位置元素</span></span>
    {
      <span class="hljs-keyword">if</span> (index &lt; <span class="hljs-number">0</span> || index &gt; count - <span class="hljs-number">1</span>) {
        <span class="hljs-keyword">throw</span> <span class="hljs-keyword">new</span> ArgumentOutOfRangeException(<span class="hljs-string">&quot;索引参数超出范围了&quot;</span>);
      }
      <span class="hljs-keyword">for</span> (<span class="hljs-built_in">int</span> i = index + <span class="hljs-number">1</span>; i &lt; count; i++) {
        <span class="hljs-comment">// index+1   count-1</span>
        data[i - <span class="hljs-number">1</span>] = data[i];
      }
      count--;
    }
    <span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-built_in">int</span> <span class="hljs-title">IndexOf</span>(<span class="hljs-params">T item</span>) <span class="hljs-comment">//从前往后获取元素所在的索引位置</span></span>
    {
      <span class="hljs-built_in">int</span> index = <span class="hljs-number">-1</span>;
      <span class="hljs-keyword">for</span> (<span class="hljs-built_in">int</span> i = <span class="hljs-number">0</span>; i &lt; count; i++) { <span class="hljs-comment">// ToString Equals</span>
        <span class="hljs-keyword">if</span> (item.Equals(data[i])) {
          index = i;
          <span class="hljs-keyword">break</span>;
        }
      }
      <span class="hljs-keyword">return</span> index; <span class="hljs-comment">//从前往后</span>
    }

    <span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-built_in">int</span> <span class="hljs-title">LastIndexOf</span>(<span class="hljs-params">T item</span>) <span class="hljs-comment">//从后往前获取元素所在的索引位置</span></span>
    {
      <span class="hljs-built_in">int</span> index = <span class="hljs-number">-1</span>;
      <span class="hljs-keyword">for</span> (<span class="hljs-built_in">int</span> i = count - <span class="hljs-number">1</span>; i &gt;= <span class="hljs-number">0</span>; i--) { <span class="hljs-comment">// ToString Equals</span>
        <span class="hljs-keyword">if</span> (item.Equals(data[i])) {
          index = i;
          <span class="hljs-keyword">break</span>;
        }
      }
      <span class="hljs-keyword">return</span> index; <span class="hljs-comment">//从后往前</span>
    }

    <span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Sort</span>() <span class="hljs-comment">//排序</span></span>
    {
      Array.Sort(data, <span class="hljs-number">0</span>, count); <span class="hljs-comment">//0, count  指范围</span>
    }
  }
}
</code></pre>
<p>Program.cs</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code>
<span class="hljs-keyword">using</span> System;
<span class="hljs-keyword">using</span> System.Collections.Generic;

<span class="hljs-keyword">namespace</span> <span class="hljs-title">MyList</span>列表 {
  <span class="hljs-keyword">class</span> <span class="hljs-title">Program</span> {
    <span class="hljs-function"><span class="hljs-keyword">static</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Main</span>(<span class="hljs-params"><span class="hljs-built_in">string</span>[] args</span>)</span> {
      <span class="hljs-comment">// 1.Capacity 获取容量⼤⼩</span>
      MyList &lt; <span class="hljs-built_in">int</span> &gt; list = <span class="hljs-keyword">new</span> MyList &lt; <span class="hljs-built_in">int</span> &gt; ();
      Console.WriteLine(list.Capacity);

      <span class="hljs-comment">// 2.Add()⽅法添加元素</span>
      list.Add(<span class="hljs-number">1</span>);
      list.Add(<span class="hljs-number">2</span>);
      list.Add(<span class="hljs-number">3</span>);
      list.Add(<span class="hljs-number">4</span>);
      list.Add(<span class="hljs-number">5</span>);
      list.Add(<span class="hljs-number">4</span>);

      <span class="hljs-comment">// 5.Count属性访问元素个数</span>
      Console.WriteLine(list.Count);
      <span class="hljs-comment">//遍历集合</span>
      <span class="hljs-keyword">for</span> (<span class="hljs-built_in">int</span> i = <span class="hljs-number">0</span>; i &lt; list.Count; i++) {
        Console.Write(list[i] + <span class="hljs-string">&quot; &quot;</span>);
      }

      <span class="hljs-comment">// 3.Insert()⽅法插⼊元素</span>
      list.Insert(<span class="hljs-number">2</span>, <span class="hljs-number">100</span>);
      <span class="hljs-keyword">for</span> (<span class="hljs-built_in">int</span> i = <span class="hljs-number">0</span>; i &lt; list.Count; i++) <span class="hljs-comment">//遍历集合</span>
      {
        Console.Write(list[i] + <span class="hljs-string">&quot; &quot;</span>);
      }
      Console.WriteLine();

      <span class="hljs-comment">// 4.[index]访问元素(索引器) </span>
      <span class="hljs-built_in">int</span> temp1 = list[<span class="hljs-number">10</span>];
      <span class="hljs-built_in">int</span> temp2 = list[<span class="hljs-number">-1</span>];
      List &lt; <span class="hljs-built_in">int</span> &gt; l = <span class="hljs-keyword">new</span> List &lt; <span class="hljs-built_in">int</span> &gt; ();
      <span class="hljs-built_in">int</span> temp = l[<span class="hljs-number">-1</span>];

      <span class="hljs-comment">// 6.RemoveAt()⽅法移除指定位置的元素</span>
      list.RemoveAt(<span class="hljs-number">3</span>);
      <span class="hljs-keyword">for</span> (<span class="hljs-built_in">int</span> i = <span class="hljs-number">0</span>; i &lt; list.Count; i++) <span class="hljs-comment">//遍历集合</span>
      {
        Console.Write(list[i] + <span class="hljs-string">&quot; &quot;</span>);
      }
      Console.WriteLine();

      <span class="hljs-comment">// 7.IndexOf()⽅法取得⼀个元素所在列表中的索引位置</span>
      Console.WriteLine(list.IndexOf(<span class="hljs-number">4</span>)); <span class="hljs-comment">//从前往后搜索</span>
      Console.WriteLine(list.LastIndexOf(<span class="hljs-number">4</span>)); <span class="hljs-comment">//从后往前搜索</span>

      <span class="hljs-comment">// 8.Sort()对列表中是元素进⾏从⼩到⼤排序</span>
      list.Sort();
      <span class="hljs-keyword">for</span> (<span class="hljs-built_in">int</span> i = <span class="hljs-number">0</span>; i &lt; list.Count; i++) <span class="hljs-comment">//遍历集合</span>
      {
        Console.Write(list[i] + <span class="hljs-string">&quot; &quot;</span>);
      }
      Console.WriteLine();
    }
  }
}

</code></pre>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/自我提升">自我提升</category>
        </item>
        <item>
            <title><![CDATA[泛型⽅法]]></title>
            <link>http://blog.wilsonzy.cn/post/72</link>
            <guid>http://blog.wilsonzy.cn/post/72</guid>
            <pubDate>Fri, 30 May 2025 09:16:57 GMT</pubDate>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <!-- more -->
<h2>重写ToString 方法</h2>
<p>右键笔刷   生成重写（ToString()）</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">override</span> <span class="hljs-built_in">string</span> <span class="hljs-title">ToString</span>()</span> {
 <span class="hljs-built_in">string</span> result = age + <span class="hljs-string">&quot;:&quot;</span> + name;
  <span class="hljs-keyword">return</span> result;
  }
</code></pre>
<h2>泛型</h2>
<p>泛型是什么？<br>
通过参数化类型来实现在同⼀份代码上操作多种数据类型。利⽤“<strong>参数化类型</strong>”将类型抽象化，从⽽实现灵活的复⽤。</p>
<h2>泛型类定义</h2>
<p>定义⼀个泛型类就是指的是，定义⼀个类，这个类中某些字段的类型是不确定的，这些类型可以在类构造的时候确定下来</p>
<p>创建⼀个类处理  int类型和double类型的相加</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-keyword">class</span> <span class="hljs-title">ClassA</span>&lt;<span class="hljs-title">T</span>&gt;{ <span class="hljs-comment">//T  指类型   可为int、double、string</span>
<span class="hljs-keyword">private</span> T a; 
<span class="hljs-keyword">private</span> T b; 
<span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-title">ClassA</span>(<span class="hljs-params">T a,T b</span>)</span>{ 
<span class="hljs-keyword">this</span>.a = a ;<span class="hljs-keyword">this</span>.b = b; 
} 
<span class="hljs-comment">//public T GetSum(){ </span>
<span class="hljs-comment">//return a+“”+b; </span>
<span class="hljs-comment">//注释部分可使用以下方式</span>
 <span class="hljs-built_in">dynamic</span> num1 = a;
 <span class="hljs-built_in">dynamic</span> num2 = b;
 <span class="hljs-built_in">dynamic</span> result = num1 + num2;
 <span class="hljs-keyword">return</span> (T)result;
} 
}

<span class="hljs-comment">//使用</span>
ClassA&lt;<span class="hljs-built_in">int</span>&gt; a = <span class="hljs-keyword">new</span> ClassA&lt;<span class="hljs-built_in">int</span>&gt;(<span class="hljs-number">45</span>, <span class="hljs-number">65</span>);
Console.WriteLine(a.GetSum());  <span class="hljs-comment">//👉   110</span>
</code></pre>
<h2>泛型⽅法</h2>
<p>定义泛型⽅法就是定义⼀个⽅法，这个⽅法的参数的类型可以是不确定的，当调⽤这个⽅<br>
法的时候再去确定⽅法的参数的类型。</p>
<p>实现任意类型组拼成字符串的⽅法</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">static</span> T <span class="hljs-title">GetSum</span>&lt;<span class="hljs-title">T</span>&gt;(<span class="hljs-params">T a,T b</span>)</span>{
<span class="hljs-keyword">return</span> a+<span class="hljs-string">&quot;&quot;</span>+b;}
GetSum&lt;<span class="hljs-built_in">int</span>&gt;(<span class="hljs-number">23</span>,<span class="hljs-number">12</span>);
GetSum&lt;<span class="hljs-built_in">double</span>&gt;(<span class="hljs-number">23.2</span>,<span class="hljs-number">12</span>);
</code></pre>
<p>使⽤泛型和索引器来实现⼀个我们⾃⼰的集合类MyList<br>
有下⾯的⽅法和属性</p>
<ol>
<li>Capacity获取容量⼤⼩</li>
<li>Add()⽅法添加元素</li>
<li>Insert()⽅法插⼊元素</li>
<li>[index]访问元素(索引器)</li>
<li>Count属性访问元素个数</li>
<li>RemoveAt()⽅法移除指定位置的元素</li>
<li>IndexOf()⽅法取得⼀个元素所在列表中的索引位置<br>
LastIndexOf()上⾯的⽅法是从前往后搜索，这个是从后往前搜索，搜索到满⾜条件的就停⽌<br>
上⾯的两个⽅法，如果没有找到指定元素就返回-1</li>
<li>Sort()对列表中是元素进⾏从⼩到⼤排序</li>
</ol>
<p>索引器：通过[index]这种形式去访问数据，就是索引器</p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/自我提升">自我提升</category>
        </item>
        <item>
            <title><![CDATA[列表List]]></title>
            <link>http://blog.wilsonzy.cn/post/71</link>
            <guid>http://blog.wilsonzy.cn/post/71</guid>
            <pubDate>Sun, 25 Aug 2024 05:41:30 GMT</pubDate>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <!-- more -->
<p>当我们有很多类型⼀样的数据的时候，前⾯我们⼀般使⽤数组来进⾏管理，但是这样有个<br>
缺点就是数组的⼤⼩是固定的。<br>
如果我们很多类型⼀样的数据，⽐如游戏得分，我们可以集合类来进⾏管理，⽐如列表List，我们可以使⽤列表List很⽅便的添加数据，删除数据<br>
还有其他对数据的操作。</p>
<h2>列表List的创建和使用</h2>
<p>1、<strong>创建列表</strong><br>
列表可以存储任何类型的数据，在创建列表对象的时候⾸先要指定你要创建的这个列表要存储什么类型的（<strong>泛型</strong>）</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code>List&lt;<span class="hljs-built_in">int</span>&gt; scoreList = <span class="hljs-keyword">new</span> List&lt;<span class="hljs-built_in">int</span>&gt;();
<span class="hljs-keyword">new</span> List&lt;<span class="hljs-built_in">int</span>&gt;(){<span class="hljs-number">1</span>,<span class="hljs-number">2</span>,<span class="hljs-number">3</span>}
<span class="hljs-keyword">new</span> List&lt;<span class="hljs-built_in">string</span>&gt;(){<span class="hljs-string">&quot;one&quot;</span>,<span class="hljs-string">&quot;two&quot;</span>}
<span class="hljs-keyword">var</span> scoreList = <span class="hljs-keyword">new</span> List&lt;<span class="hljs-built_in">int</span>&gt;();
</code></pre>
<p><strong>2、往列表中插⼊数据</strong></p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code>scoreList.Add(<span class="hljs-number">12</span>);
scoreList.Add(<span class="hljs-number">45</span>);
</code></pre>
<p><strong>3、如何取得列表中的数据？</strong><br>
列表中的数据跟数组有点相似，索引从0开始 ，可以通过索引来访问</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code>Console.WriteLine(scoreList[<span class="hljs-number">0</span>]);<span class="hljs-comment">//访问添加到列表中的第⼀个数据</span>
List&lt;<span class="hljs-built_in">int</span>&gt; list = <span class="hljs-keyword">new</span> List&lt;<span class="hljs-built_in">int</span>&gt;() { <span class="hljs-number">56</span>, <span class="hljs-number">23</span>, <span class="hljs-number">894</span>, <span class="hljs-number">32</span>, <span class="hljs-number">5623</span>, <span class="hljs-number">32</span>,<span class="hljs-number">4573</span> };
list.Insert(<span class="hljs-number">3</span>, <span class="hljs-number">800</span>); <span class="hljs-comment">//在索引3的位置前插入800</span>
list.RemoveAt(<span class="hljs-number">2</span>);    <span class="hljs-comment">//移除索引2的位置元素</span>
</code></pre>
<p>:::tip{title=&quot;提示&quot;}<br>
当把一个对象当作字符串来使用时，就会调用字符串ToString方法<br>
比如：命名空间.类</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code>Program p = <span class="hljs-keyword">new</span> Program();
<span class="hljs-comment">//输出都一样</span>
Console.WriteLine(p.ToString());
Console.WriteLine(p);
</code></pre>
<p>:::</p>
<h2>关于列表的更多内容</h2>
<p>1、列表内部数据是使⽤数组进⾏的存储，<strong>⼀个空的列表内部会有⼀个⻓度为0的数组</strong>，当给列表中添加元素的时候，列表的容量会扩⼤为4，如果添加第5个的时候，列表的⼤⼩会重新设置为8，如果添加第9个元素，列表容量会扩⼤为16，依次增加。</p>
<p><img src="/static/img/bed470a01b33c183398080e2df1ea1af.image.png" alt="image.png"><br>
<strong>当列表的中的容量发⽣改变的时候，它会创建⼀个新的数组，使⽤Array.Copy()⽅法将旧数组中的元素复制到新数组中</strong>。<br>
为了节省时间，如果事先知道要存储的数据的个数，就可以利⽤列表的构造函数指定列表的容量⼤⼩，⽐如</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code>List&lt;<span class="hljs-built_in">int</span>&gt; intlist = <span class="hljs-keyword">new</span> List&lt;<span class="hljs-built_in">int</span>&gt;(<span class="hljs-number">10</span>);<span class="hljs-comment">//创建了⼀个初始容量为10的列表</span>
</code></pre>
<p>当容量不够⽤的时候，每次都会按照原来容量的2倍进⾏扩容。<br>
<strong>我们可以通过Capacity属性获取和设置容量</strong></p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code>intList.Capacity = <span class="hljs-number">100</span>;
</code></pre>
<p>2、<strong>注意容量和列表中元素个数的区别，容量是列表中⽤于存储数据的数组的⻓度通过capacity获取，列表中的元素是我们添加进去需要管理的数据，通过Count获取</strong></p>
<p>:::info{title=&quot;相关信息&quot;}<br>
容量：存储数据大小<br>
元素个数：添加了多少个数据<br>
:::</p>
<h2>列表的遍历</h2>
<p>遍历列表有两种⽅式：<br>
<strong>1、for循环</strong><br>
遍历所有的索引，通过索引访问列表中的元素</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-keyword">for</span>(<span class="hljs-built_in">int</span> i=<span class="hljs-number">0</span>;i&lt;list.Count;i++){
<span class="hljs-comment">//循环体list[i]</span>
}
</code></pre>
<p><strong>2、foreach遍历</strong></p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-keyword">foreach</span>(<span class="hljs-built_in">int</span> temp <span class="hljs-keyword">in</span> list){ <span class="hljs-comment">//依次取得list中的每⼀个元素赋值给temp，并执⾏循环体</span>
<span class="hljs-comment">//循环体 temp</span>
}
</code></pre>
<p>:::note{title=&quot;操作列表的属性和⽅法&quot;}</p>
<ol>
<li>Capacity获取容量⼤⼩</li>
<li>Add()⽅法添加元素</li>
<li>Insert()⽅法插⼊元素</li>
<li>[index]访问元素</li>
<li>Count属性访问元素个数</li>
<li>RemoveAt()⽅法移除指定位置的元素</li>
<li>IndexOf()⽅法取得⼀个元素所在列表中的索引位置<br>
LastIndexOf()上⾯的⽅法是从前往后搜索，这个是从后往前搜索，搜索到满⾜条件的就停⽌<br>
上⾯的两个⽅法，如果没有找到指定元素就返回-1</li>
<li>Sort()对列表中是元素进⾏从⼩到⼤排序<br>
:::</li>
</ol>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/自我提升">自我提升</category>
        </item>
        <item>
            <title><![CDATA[面向对象-编程题2]]></title>
            <link>http://blog.wilsonzy.cn/post/70</link>
            <guid>http://blog.wilsonzy.cn/post/70</guid>
            <pubDate>Fri, 30 May 2025 09:20:29 GMT</pubDate>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <!-- more -->
<p>11．在C#的语法中，（ a ）关键字可以实现在派生类中对基类的虚函数进行重载（选一项）</p>
<ul class="contains-task-list">
<li class="task-list-item"><input class="task-list-item-checkbox" disabled="" type="checkbox"> a.	override</li>
<li class="task-list-item"><input class="task-list-item-checkbox" disabled="" type="checkbox"> b.	new</li>
<li class="task-list-item"><input class="task-list-item-checkbox" disabled="" type="checkbox"> c.	static</li>
<li class="task-list-item"><input class="task-list-item-checkbox" disabled="" type="checkbox"> d.	virtual</li>
</ul>
<p>:::info{title=&quot;相关信息&quot;}<br>
<strong>子类对父类进行重写</strong><br>
:::</p>
<p>12.请问，此程序输出结果是( C )</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-keyword">abstract</span> <span class="hljs-keyword">class</span> <span class="hljs-title">BaseClass</span>{  <span class="hljs-comment">//抽象类父类</span>
<span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">MethodA</span>()</span>{Console.WriteLine(<span class="hljs-string">&quot;BaseClass&quot;</span>);} <span class="hljs-comment">//方法A 输出BaseClass</span>
<span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">MethodB</span>()</span>{}   <span class="hljs-comment">//方法B  什么都不干</span>
}
<span class="hljs-keyword">class</span> <span class="hljs-title">Class1</span>: <span class="hljs-title">BaseClass</span>{  <span class="hljs-comment">//子类1 </span>
<span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">void</span> <span class="hljs-title">MethodA</span>()</span>{Console.WriteLine(<span class="hljs-string">&quot;Class1&quot;</span>);} <span class="hljs-comment">//方法A 隐藏方法输出 Class1</span>
<span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">override</span> <span class="hljs-keyword">void</span> <span class="hljs-title">MethodB</span>()</span>{}  <span class="hljs-comment">//方法B 重写父类方法B</span>
}
<span class="hljs-keyword">class</span> <span class="hljs-title">Class2</span>: <span class="hljs-title">Class1</span>{  <span class="hljs-comment">//子类2</span>
<span class="hljs-keyword">new</span> <span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">void</span> <span class="hljs-title">MethodB</span>()</span>{}  <span class="hljs-comment">//把子类1中的B方法隐藏</span>
}
<span class="hljs-keyword">class</span> <span class="hljs-title">MainClass</span>{
<span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">static</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Main</span>(<span class="hljs-params"><span class="hljs-built_in">string</span>[] args</span>)</span>{Class2 o = <span class="hljs-keyword">new</span> Class2();o.MethodA(); }
}
</code></pre>
<ul class="contains-task-list">
<li class="task-list-item"><input class="task-list-item-checkbox" disabled="" type="checkbox"> A. BaseClass</li>
<li class="task-list-item"><input class="task-list-item-checkbox" disabled="" type="checkbox"> B. BassClass Class1</li>
<li class="task-list-item"><input class="task-list-item-checkbox" disabled="" type="checkbox"> C. Class1</li>
<li class="task-list-item"><input class="task-list-item-checkbox" disabled="" type="checkbox"> D. Class1 BassClass</li>
</ul>
<p>13.请问，此程序输出结果是( a )</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-keyword">public</span> <span class="hljs-keyword">abstract</span> <span class="hljs-keyword">class</span> <span class="hljs-title">A</span> { <span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-title">A</span>()</span> { Console.WriteLine(<span class="hljs-string">&#x27;A&#x27;</span>); }  <span class="hljs-comment">//构造函数输出A</span>
<span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Fun</span>()</span> { Console.WriteLine(<span class="hljs-string">&quot;A.Fun()&quot;</span>); } }  <span class="hljs-comment">//虚方法输出A.Fun()</span>
<span class="hljs-keyword">public</span> <span class="hljs-keyword">class</span> <span class="hljs-title">B</span>: <span class="hljs-title">A</span> { <span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-title">B</span>()</span> { Console.WriteLine(<span class="hljs-string">&#x27;B&#x27;</span>); }  <span class="hljs-comment">//B类构造函数输出B</span>
<span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">new</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Fun</span>()</span> { Console.WriteLine(<span class="hljs-string">&quot;B.Fun()&quot;</span>); } <span class="hljs-comment">//隐藏方法 把B.Fun() 隐藏</span>
<span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">static</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Main</span>()</span> { A a = <span class="hljs-keyword">new</span> B();a.Fun(); } } 
</code></pre>
<ul class="contains-task-list">
<li class="task-list-item"><input class="task-list-item-checkbox" disabled="" type="checkbox"> A. A B A.Fun()</li>
<li class="task-list-item"><input class="task-list-item-checkbox" disabled="" type="checkbox"> B. A B B.Fun()</li>
<li class="task-list-item"><input class="task-list-item-checkbox" disabled="" type="checkbox"> C. B A A.Fun()</li>
<li class="task-list-item"><input class="task-list-item-checkbox" disabled="" type="checkbox"> D. B A B.Fun()</li>
</ul>
<p>:::info{title=&quot;相关信息&quot;}</p>
<ul>
<li>B对象，A声明，调用啥 则输出啥</li>
<li>构造 newB 时，构造函数被调用，先调用父类再调用子类<br>
:::<br>
14.以下叙述正确的是( bc )：</li>
</ul>
<ul class="contains-task-list">
<li class="task-list-item"><input class="task-list-item-checkbox" disabled="" type="checkbox"> A. 接口中可以有虚方法。</li>
<li class="task-list-item"><input class="task-list-item-checkbox" disabled="" type="checkbox"> B. 一个类可以实现多个接口。</li>
<li class="task-list-item"><input class="task-list-item-checkbox" disabled="" type="checkbox"> C. 接口不能被实例化。</li>
<li class="task-list-item"><input class="task-list-item-checkbox" disabled="" type="checkbox"> D. 接口中可以包含已实现的方法。</li>
</ul>
<p>15．以下关于C#代码的说法正确的是（ a ）。（选择一项）</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code>Public <span class="hljs-keyword">abstract</span> <span class="hljs-keyword">class</span> <span class="hljs-title">Animal</span>   <span class="hljs-comment">//抽象类 Animal</span>
{
<span class="hljs-function">Public <span class="hljs-keyword">abstract</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Eat</span>()</span>; <span class="hljs-comment">//抽象方法</span>
<span class="hljs-function">Public <span class="hljs-keyword">void</span> <span class="hljs-title">Sleep</span>()</span>
{
}
}
</code></pre>
<ul class="contains-task-list">
<li class="task-list-item"><input class="task-list-item-checkbox" disabled="" type="checkbox"> a.	该段代码正确</li>
<li class="task-list-item"><input class="task-list-item-checkbox" disabled="" type="checkbox"> b.	代码错误，因为类中存在非抽象方法</li>
<li class="task-list-item"><input class="task-list-item-checkbox" disabled="" type="checkbox"> c.	代码错误，因为类中的方法没有实现</li>
<li class="task-list-item"><input class="task-list-item-checkbox" disabled="" type="checkbox"> d.	通过代码“Animal an = new Animal();”可以创建一个Animal对象</li>
</ul>
<p>16.在c#中，关于继承和接口，以下说法正确的是( b ) （单选）</p>
<ul class="contains-task-list">
<li class="task-list-item"><input class="task-list-item-checkbox" disabled="" type="checkbox"> a.c#允许许多接口实现,也允许多重继承</li>
<li class="task-list-item"><input class="task-list-item-checkbox" disabled="" type="checkbox"> b.c#允许多接口实现，但不允许多重继承</li>
<li class="task-list-item"><input class="task-list-item-checkbox" disabled="" type="checkbox"> c.c#不允许多接口实现，但允许多重继承</li>
<li class="task-list-item"><input class="task-list-item-checkbox" disabled="" type="checkbox"> d.c#不允许多重接口实现，也不允许多重继承</li>
</ul>
<ol start="17">
<li>在C#中，已知下列代码的运行结果是“老虎吃动物”，请问在空白处1和空白处2分别应该填写的代码是( c )</li>
</ol>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code>Public <span class="hljs-keyword">class</span> <span class="hljs-title">Animal</span> <span class="hljs-comment">//父类</span>
{
  Public 空白处<span class="hljs-number">1</span> <span class="hljs-function"><span class="hljs-keyword">void</span> <span class="hljs-title">Eat</span>()</span> {
    Consone.WriteLine(“我要吃”)；
  }
}
Public <span class="hljs-keyword">class</span> <span class="hljs-title">Tiger</span>: <span class="hljs-title">Animal</span> <span class="hljs-comment">//子类继承父类</span>
{
  Public 空白处<span class="hljs-number">2</span> <span class="hljs-function"><span class="hljs-keyword">void</span> <span class="hljs-title">Eat</span>()</span> {
    Consone.WriteLine(“老虎吃动物”)；
  }
  Public calssTest {
    <span class="hljs-function">Static <span class="hljs-keyword">void</span> <span class="hljs-title">Main</span>()</span> {
      Animal an = <span class="hljs-keyword">new</span> Tiger(); <span class="hljs-comment">//父类声明</span>
      an.Eat; <span class="hljs-comment">//调用重写方法</span>
    }
  }
}
</code></pre>
<ul class="contains-task-list">
<li class="task-list-item"><input class="task-list-item-checkbox" disabled="" type="checkbox"> a.	Virtual , new</li>
<li class="task-list-item"><input class="task-list-item-checkbox" disabled="" type="checkbox"> b.	override , virtual</li>
<li class="task-list-item"><input class="task-list-item-checkbox" disabled="" type="checkbox"> c.	virtual , override</li>
<li class="task-list-item"><input class="task-list-item-checkbox" disabled="" type="checkbox"> d.	new , virtual</li>
</ul>
<ol start="18">
<li>在C#中，下列关于抽象类和接口的说法，正确的是( b )（选择一项）</li>
</ol>
<ul class="contains-task-list">
<li class="task-list-item"><input class="task-list-item-checkbox" disabled="" type="checkbox"> 	a. 在抽象类中，所以的方法都是抽象方法</li>
<li class="task-list-item"><input class="task-list-item-checkbox" disabled="" type="checkbox"> 	b. 继承自抽象类的子类必须实现起父类（抽象类）中的所以抽象方法</li>
<li class="task-list-item"><input class="task-list-item-checkbox" disabled="" type="checkbox"> 	c. 在接口中，可以有方法实现，在抽象类中不能有方法实现</li>
<li class="task-list-item"><input class="task-list-item-checkbox" disabled="" type="checkbox"> 	d. 一个类可以从多个接口继承，也可以从多个抽象类继承</li>
</ul>
<ol start="19">
<li>关于以下C#代码的说法正确的是( b )</li>
</ol>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code>Public <span class="hljs-keyword">abstract</span> <span class="hljs-keyword">class</span> <span class="hljs-title">Animal</span> { <span class="hljs-comment">//抽象类父类  Animal</span>
  <span class="hljs-function">Public <span class="hljs-keyword">abstract</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Eat</span>()</span>; <span class="hljs-comment">//抽象方法</span>
}
Public <span class="hljs-keyword">class</span> <span class="hljs-title">Tiger</span>: <span class="hljs-title">Animal</span> { <span class="hljs-comment">//子类1 继承父类</span>
  <span class="hljs-function">Public <span class="hljs-keyword">override</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Eat</span>()</span> { <span class="hljs-comment">//重写方法</span>
    Console.WriteLine(“老虎吃动物”);
  }
}
Public <span class="hljs-keyword">class</span> <span class="hljs-title">Tigress</span>: <span class="hljs-title">Tiger</span> { <span class="hljs-comment">//子类2 继承父类</span>
  <span class="hljs-function">Static <span class="hljs-keyword">void</span> <span class="hljs-title">Main</span>()</span> {
    Tigress tiger = <span class="hljs-keyword">new</span> Tigress(); <span class="hljs-comment">//子类构造</span>
    tiger.Eat();
  }
}
</code></pre>
<ul class="contains-task-list">
<li class="task-list-item"><input class="task-list-item-checkbox" disabled="" type="checkbox"> a.	代码正确,但没有输出</li>
<li class="task-list-item"><input class="task-list-item-checkbox" disabled="" type="checkbox"> b.	代码正确,并且输出为”老虎吃动物”;</li>
<li class="task-list-item"><input class="task-list-item-checkbox" disabled="" type="checkbox"> c.	代码错误,因为Tigress类没有实现抽象基类Animal中的抽象方法</li>
<li class="task-list-item"><input class="task-list-item-checkbox" disabled="" type="checkbox"> d.	代码错误,因为抽象基类Animal的Eat方法没有实现</li>
</ul>
<p>:::info{title=&quot;相关信息&quot;}<br>
<strong>子类构造函数被调用，都为调用重写后的方法</strong><br>
:::</p>
<ol start="20">
<li>在c#中 某程序员定义了一个IDataBase接口，以及实现该接口的类CDataBase ,下列关于该段代码说法正确的是（ d ）（选择一项）</li>
</ol>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-keyword">public</span> <span class="hljs-keyword">interface</span> <span class="hljs-title">IDataBase</span> <span class="hljs-comment">//接口</span>
{
  <span class="hljs-function"><span class="hljs-keyword">void</span> <span class="hljs-title">OpenTable</span>(<span class="hljs-params"><span class="hljs-built_in">string</span> tableName</span>)</span>; <span class="hljs-comment">//打开</span>
  <span class="hljs-function"><span class="hljs-keyword">void</span> <span class="hljs-title">UpdataTable</span>(<span class="hljs-params"><span class="hljs-built_in">string</span> tableName</span>)</span>; <span class="hljs-comment">//更新</span>
}
<span class="hljs-keyword">public</span> <span class="hljs-keyword">class</span> <span class="hljs-title">CDataBase</span>: <span class="hljs-title">IDataBase</span> <span class="hljs-comment">//子类继承接口</span>
{
  <span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">void</span> <span class="hljs-title">OpenTable</span>(<span class="hljs-params"><span class="hljs-built_in">string</span> tableName</span>) <span class="hljs-comment">//打开方法</span></span>
  {
    Console.WriteLine(<span class="hljs-string">&quot;打开数据表&quot;</span>);

  }
  <span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">void</span> <span class="hljs-title">UpdataTable</span>(<span class="hljs-params"><span class="hljs-built_in">string</span> tableName</span>) <span class="hljs-comment">//更新方法</span></span>
  {
    Console.WriteLine(<span class="hljs-string">&quot;更新数据表&quot;</span>);

  }
  <span class="hljs-function"><span class="hljs-keyword">static</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Main</span>()</span> {
    CDataBase db = <span class="hljs-keyword">new</span> CDataBase(); <span class="hljs-comment">//声明子对象 然后子类构造</span>
    db.OpenTable(<span class="hljs-string">&quot;Customers&quot;</span>);
  }
}
</code></pre>
<ul class="contains-task-list">
<li class="task-list-item"><input class="task-list-item-checkbox" disabled="" type="checkbox"> a.该段代码错误，因为在定义接口时，接口中的方法没有提供实现</li>
<li class="task-list-item"><input class="task-list-item-checkbox" disabled="" type="checkbox"> b.该段代码错误，因为接口中声明的方法不是公有的，应此在CDataBase类中不能访问接口中的方法</li>
<li class="task-list-item"><input class="task-list-item-checkbox" disabled="" type="checkbox"> c.该段代码正确，同时由于客户没有调用UpdataTable方法，可以把CDataTable类中的UpdataTable去掉，代码仍然正确</li>
<li class="task-list-item"><input class="task-list-item-checkbox" disabled="" type="checkbox"> d.该段代码正确，但是如果在IDataBase 接口中声明一个方法void Execute(string sql); 则必须在CDataBase中实现该方法</li>
</ul>
<p>:::info{title=&quot;相关信息&quot;}<br>
a.接口中方法不需要提供实现<br>
b.默认为public<br>
c.即使没有调用，也要实现方法<br>
:::<br>
21.c#中  下列代码运行结果是（ a ）（选择一项）</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-keyword">public</span> <span class="hljs-keyword">class</span> <span class="hljs-title">Student</span> { <span class="hljs-comment">//父类</span>
  <span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Exam</span>()</span> { <span class="hljs-comment">//虚方法</span>
    Console.WriteLine(<span class="hljs-string">&quot;学生都要考试&quot;</span>);
  }
}
<span class="hljs-keyword">public</span> <span class="hljs-keyword">class</span> <span class="hljs-title">Undergraduate</span>: <span class="hljs-title">Student</span> { <span class="hljs-comment">//子类继承父类</span>
  <span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">new</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Exam</span>()</span> { <span class="hljs-comment">//隐藏父类</span>
    <span class="hljs-keyword">base</span>.Exam(); <span class="hljs-comment">//调用父类里的方法</span>
    Console.WriteLine(<span class="hljs-string">&quot;大学生有选择考试科目的权利&quot;</span>);
  }
}
<span class="hljs-keyword">public</span> <span class="hljs-keyword">class</span> <span class="hljs-title">Test</span> {
  <span class="hljs-function"><span class="hljs-keyword">static</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Main</span>()</span> {
    Student stu = <span class="hljs-keyword">new</span> Undergraduate(); <span class="hljs-comment">//父类声明对象，子类构造</span>
    stu.Exam();
  }
}
</code></pre>
<ul class="contains-task-list">
<li class="task-list-item"><input class="task-list-item-checkbox" disabled="" type="checkbox"> a.学生都要考试</li>
<li class="task-list-item"><input class="task-list-item-checkbox" disabled="" type="checkbox"> b.大学生有选择考试科目的权利</li>
<li class="task-list-item"><input class="task-list-item-checkbox" disabled="" type="checkbox"> c.大学生都要考试<br>
大学生有选择考试科目的权利</li>
<li class="task-list-item"><input class="task-list-item-checkbox" disabled="" type="checkbox"> d.学生都要考试 学生都要考试</li>
</ul>
<p>:::info{title=&quot;相关信息&quot;}<br>
<strong>隐藏方法只有在子类声明才会调用隐藏方法</strong><br>
:::</p>
<p>22.c#中 下列代码的运行结果是（ a ）（选择一项）</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-keyword">struct</span> Student { <span class="hljs-comment">//声明学生结构体</span>
  <span class="hljs-keyword">public</span> <span class="hljs-built_in">int</span> age;
  <span class="hljs-keyword">public</span> <span class="hljs-built_in">string</span> name;
  <span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-title">Student</span>(<span class="hljs-params"><span class="hljs-built_in">int</span> age, <span class="hljs-built_in">string</span> name</span>)</span> { <span class="hljs-comment">//构造函数（年龄、名字）</span>
    <span class="hljs-keyword">this</span>.age = age;
    <span class="hljs-keyword">this</span>.name = name;
  }
}
<span class="hljs-keyword">public</span> <span class="hljs-keyword">class</span> <span class="hljs-title">Test</span> {
  <span class="hljs-function"><span class="hljs-keyword">static</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Mian</span>()</span> {
    Student stu1 = <span class="hljs-keyword">new</span> Student(<span class="hljs-number">18</span>, <span class="hljs-string">&quot;小方&quot;</span>); <span class="hljs-comment">//创建2名学生</span>
    Student stu2 = <span class="hljs-keyword">new</span> Student(<span class="hljs-number">24</span>, <span class="hljs-string">&quot;小刚&quot;</span>);
    stu2 = stu1; <span class="hljs-comment">//在c#中 结构体是值类型，在这里赋值只会赋值其中变量的值</span>
    stu1.age = <span class="hljs-number">30</span>;
    stu1.name = <span class="hljs-string">&quot;小燕&quot;</span>;
    Console.WriteLine(stu2.age);
    Console.WriteLine(st2.name);
  }
}
</code></pre>
<ul class="contains-task-list">
<li class="task-list-item"><input class="task-list-item-checkbox" disabled="" type="checkbox"> a.18 小方</li>
<li class="task-list-item"><input class="task-list-item-checkbox" disabled="" type="checkbox"> b.18 小燕</li>
<li class="task-list-item"><input class="task-list-item-checkbox" disabled="" type="checkbox"> c.30 小燕</li>
<li class="task-list-item"><input class="task-list-item-checkbox" disabled="" type="checkbox"> d.30 小方</li>
</ul>
<p><img src="/static/img/fdb3666cb50d5fc71d562becc1240201.image.png" alt="image.png"></p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/自我提升">自我提升</category>
        </item>
        <item>
            <title><![CDATA[面向对象-编程题1]]></title>
            <link>http://blog.wilsonzy.cn/post/69</link>
            <guid>http://blog.wilsonzy.cn/post/69</guid>
            <pubDate>Fri, 30 May 2025 09:21:48 GMT</pubDate>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <!-- more -->
<p>1．C#中的方法重写使用关键字（ a ）。</p>
<ul class="contains-task-list">
<li class="task-list-item"><input class="task-list-item-checkbox" disabled="" type="checkbox"> a.override</li>
<li class="task-list-item"><input class="task-list-item-checkbox" disabled="" type="checkbox"> b.overload</li>
<li class="task-list-item"><input class="task-list-item-checkbox" disabled="" type="checkbox"> c.static</li>
<li class="task-list-item"><input class="task-list-item-checkbox" disabled="" type="checkbox"> d.Inherit</li>
</ul>
<p>2．以下的C#代码，试图用来定义一个接口：</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-keyword">public</span> <span class="hljs-keyword">interface</span> <span class="hljs-title">IFile</span> {
  <span class="hljs-built_in">int</span> A; <span class="hljs-comment">//不能包含数字成员</span>
  <span class="hljs-function"><span class="hljs-built_in">int</span> <span class="hljs-title">delFile</span>()</span> {
    A = <span class="hljs-number">3</span>; <span class="hljs-comment">//方法不能有函数体</span>
  }
  <span class="hljs-function"><span class="hljs-keyword">void</span> <span class="hljs-title">disFile</span>()</span>; <span class="hljs-comment">//方法声明</span>
} 
</code></pre>
<p>关于以上的代码，以下描述错误的是（ d ）。（选择一项）</p>
<ul class="contains-task-list">
<li class="task-list-item"><input class="task-list-item-checkbox" disabled="" type="checkbox"> a.以上的代码中存在的错误包括：不能在接口中定义变量，所以int A代码行将出现错误</li>
<li class="task-list-item"><input class="task-list-item-checkbox" disabled="" type="checkbox"> b.以上的代码中存在的错误包括：接口方法delFile是不允许实现的，所以不能编写具体的实现函数</li>
<li class="task-list-item"><input class="task-list-item-checkbox" disabled="" type="checkbox"> c.代码void disFile();定义无错误，接口可以没有返回值</li>
<li class="task-list-item"><input class="task-list-item-checkbox" disabled="" type="checkbox"> d.代码void disFile();应该编写为void disFile(){}; //接口中不能去实现函数</li>
</ul>
<p>:::info{title=&quot;相关信息&quot;}<br>
<strong>接口：只能包含函数声明，不能包含函数体</strong><br>
:::<br>
3．在C#中，接口与抽象基类的区别在于（ a ）。</p>
<ul class="contains-task-list">
<li class="task-list-item"><input class="task-list-item-checkbox" disabled="" type="checkbox"> a.抽象基类可以包含非抽象方法，而接口只能包含抽象方法</li>
<li class="task-list-item"><input class="task-list-item-checkbox" disabled="" type="checkbox"> b.抽象基类可以被实例化，而接口不能被实例化</li>
<li class="task-list-item"><input class="task-list-item-checkbox" disabled="" type="checkbox"> c.抽象基类不能被实例化，而接口可以被实例化</li>
<li class="task-list-item"><input class="task-list-item-checkbox" disabled="" type="checkbox"> d.抽象基类就是接口，它们之间无差别</li>
</ul>
<p>4．在开发某图书馆的图书信息管理系统的过程中，开始为教材类图书建立一个TextBook类；现在又增加了杂志类图书，于是需要改变设计，则下面最好的设计应该是（ c ）。</p>
<ul class="contains-task-list">
<li class="task-list-item"><input class="task-list-item-checkbox" disabled="" type="checkbox"> a.建立一个新的杂志类Journal。</li>
<li class="task-list-item"><input class="task-list-item-checkbox" disabled="" type="checkbox"> b.建立一个新的杂志类Journal，并继承TextBook类。</li>
<li class="task-list-item"><input class="task-list-item-checkbox" disabled="" type="checkbox"> c.建立一个基类Book和一个新的杂志类Journal，并让Journal类和TextBoook类都继承于Book类。</li>
<li class="task-list-item"><input class="task-list-item-checkbox" disabled="" type="checkbox"> d.不建立任何类，把杂志图书的某些特殊属性加到TextBoook类中。</li>
</ul>
<p>5．可以使用（ a ）关键字重写方法。</p>
<ul class="contains-task-list">
<li class="task-list-item"><input class="task-list-item-checkbox" disabled="" type="checkbox"> a.Override</li>
<li class="task-list-item"><input class="task-list-item-checkbox" disabled="" type="checkbox"> b.New</li>
</ul>
<p>6．以下叙述正确的是：( bc )</p>
<ul class="contains-task-list">
<li class="task-list-item"><input class="task-list-item-checkbox" disabled="" type="checkbox">  A．    接口中可以有虚方法。</li>
<li class="task-list-item"><input class="task-list-item-checkbox" disabled="" type="checkbox">  B.    一个类可以实现多个接口。</li>
<li class="task-list-item"><input class="task-list-item-checkbox" disabled="" type="checkbox">  C．    接口不能被实例化。</li>
<li class="task-list-item"><input class="task-list-item-checkbox" disabled="" type="checkbox">  D.    接口中可以包含已实现的方法。<br>
:::info{title=&quot;相关信息&quot;}<br>
<strong>接口：只能包含函数声明，不能包含函数体</strong><br>
:::<br>
7.下列代码输出为（ b）：</li>
</ul>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-keyword">class</span> <span class="hljs-title">Father</span>{   <span class="hljs-comment">//父类</span>
   <span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">void</span> <span class="hljs-title">F</span>()</span> { Console.WriteLine(<span class="hljs-string">&quot;A.F&quot;</span>); } <span class="hljs-comment">//F方法输出A.F</span>
   <span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">G</span>()</span> { Console.WriteLine(<span class="hljs-string">&quot;A.G&quot;</span>); } <span class="hljs-comment">//虚方法输出A.G</span>
}
<span class="hljs-keyword">class</span> <span class="hljs-title">Son</span>: <span class="hljs-title">Father</span>{   <span class="hljs-comment">//子类继承父类</span>
   <span class="hljs-keyword">new</span> <span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">void</span> <span class="hljs-title">F</span>()</span> { Console.WriteLine(<span class="hljs-string">&quot;B.F&quot;</span>); }<span class="hljs-comment">//隐藏了父类中的方法，父类中的F方法还存在</span>
   <span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">override</span> <span class="hljs-keyword">void</span> <span class="hljs-title">G</span>()</span> { Console.WriteLine(<span class="hljs-string">&quot;B.G&quot;</span>); }<span class="hljs-comment">//重写了父类中的方法，父类中的G方法就不存在了</span>
}
<span class="hljs-keyword">class</span> <span class="hljs-title">override_new</span>{
   <span class="hljs-function"><span class="hljs-keyword">static</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Main</span>()</span> {
      Son b = <span class="hljs-keyword">new</span> Son(); <span class="hljs-comment">//子类声明</span>
      Father a = b;  <span class="hljs-comment">//父类声明</span>
      a.F();<span class="hljs-comment">//通过父类声明的对象 调用隐藏方法，会调用父类中的  A.F</span>
      b.F();<span class="hljs-comment">//通过子类声明的对象 调用隐藏方法，会调用子类中的  B.F</span>
      a.G();<span class="hljs-comment">// B.G</span>
      b.G();<span class="hljs-comment">//B.G</span>
   }
}
</code></pre>
<ul class="contains-task-list">
<li class="task-list-item"><input class="task-list-item-checkbox" disabled="" type="checkbox">  A.	  A.F    B.F    A.G   B.G</li>
<li class="task-list-item"><input class="task-list-item-checkbox" disabled="" type="checkbox">  B.	  A.F    B.F    B.G   B.G</li>
<li class="task-list-item"><input class="task-list-item-checkbox" disabled="" type="checkbox">  C.	  A.F    A.F    B.G   B.G</li>
<li class="task-list-item"><input class="task-list-item-checkbox" disabled="" type="checkbox">  D.	  B.F    B.F    B.G   B.G</li>
</ul>
<p>:::info{title=&quot;相关信息&quot;}<br>
<strong>子类构造函数被调用，都为调用重写后的方法</strong><br>
:::<br>
8．写出程序的输出结果：</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-keyword">public</span> <span class="hljs-keyword">class</span> <span class="hljs-title">A</span> <span class="hljs-comment">//父类</span>
{
  <span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Fun1</span>(<span class="hljs-params"><span class="hljs-built_in">int</span> i</span>) <span class="hljs-comment">//虚方法Fun1</span></span>
  {
    Console.WriteLine(i); <span class="hljs-comment">//输出所给的参数</span>
  }
  <span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Fun2</span>(<span class="hljs-params">A a</span>) <span class="hljs-comment">//普通方法Fun2</span></span>
  {
    a.Fun1(<span class="hljs-number">1</span>); <span class="hljs-comment">//调用a对象里的Fun1</span>
    Fun1(<span class="hljs-number">5</span>); <span class="hljs-comment">//再调用自身对象Fun1</span>
  }
}
<span class="hljs-keyword">public</span> <span class="hljs-keyword">class</span> <span class="hljs-title">B</span>: <span class="hljs-title">A</span> { <span class="hljs-comment">//子类继承父类 </span>
  <span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">override</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Fun1</span>(<span class="hljs-params"><span class="hljs-built_in">int</span> i</span>) 重写Fun1</span> {
    <span class="hljs-keyword">base</span>.Fun1(i + <span class="hljs-number">1</span>); <span class="hljs-comment">//调用父类Fun1(i+1) 即调用Console.WriteLine(i+1);</span>
  }
  <span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">static</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Main</span>()</span> {
    B b = <span class="hljs-keyword">new</span> B();
    A a = <span class="hljs-keyword">new</span> A();
    a.Fun2(b); <span class="hljs-comment">//b.Fun1(1) a.Fun1(5) //2  5</span>
    b.Fun2(a); <span class="hljs-comment">//a.Fun1(1) b.Fun1(5)// 1   6</span>
  }
}
</code></pre>
<p>答案：2 5 1 6</p>
<p>9．在C＃中，允许多接口继承，从多个接口时，使用“：”后跟继承的接口的名字，多个接口名称之间使用（ c ）符号进行分割。（选择一项）</p>
<ul class="contains-task-list">
<li class="task-list-item"><input class="task-list-item-checkbox" disabled="" type="checkbox">   a.”.’</li>
<li class="task-list-item"><input class="task-list-item-checkbox" disabled="" type="checkbox">   b.”-&gt;”</li>
<li class="task-list-item"><input class="task-list-item-checkbox" disabled="" type="checkbox">   c.”,”</li>
<li class="task-list-item"><input class="task-list-item-checkbox" disabled="" type="checkbox">   d.”::”</li>
</ul>
<p>10．阅读以下的C#代码：</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-keyword">class</span> <span class="hljs-title">A</span> <span class="hljs-comment">//父类</span>
{
  <span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">printStr</span>(<span class="hljs-params"><span class="hljs-built_in">string</span> str</span>) <span class="hljs-comment">//虚方法</span></span>
  {
    Console.WriteLine(str); <span class="hljs-comment">//打印传递的参数</span>
  }
}
<span class="hljs-keyword">class</span> <span class="hljs-title">B</span>: <span class="hljs-title">A</span> <span class="hljs-comment">//子类继承父类</span>
{
  <span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">override</span> <span class="hljs-keyword">void</span> <span class="hljs-title">printStr</span>(<span class="hljs-params"><span class="hljs-built_in">string</span> str</span>) <span class="hljs-comment">//重写方法</span></span>
  {
    str = str + <span class="hljs-string">&quot; 重写的方法&quot;</span>;
    Console.WriteLine(str); <span class="hljs-comment">//把传递的参数和&quot; 重写的方法&quot;一起打印</span>
  }
}
<span class="hljs-keyword">class</span> <span class="hljs-title">DefaultInitializerApp</span> {
  <span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">static</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Main</span>()</span> {
    B b = <span class="hljs-keyword">new</span> B();
    A a = b;
    a.printStr(<span class="hljs-string">&quot;打印&quot;</span>);
    b.printStr(<span class="hljs-string">&quot;打印&quot;</span>);
    Console.ReadLine();
  }
}
</code></pre>
<p>运行程序后将在控制台窗口打印( a )。(选择一项)</p>
<ul class="contains-task-list">
<li class="task-list-item"><input class="task-list-item-checkbox" disabled="" type="checkbox">  a.	打印 重写的方法 打印 重写的方法</li>
<li class="task-list-item"><input class="task-list-item-checkbox" disabled="" type="checkbox">  b.	打印 	打印 重写的方法</li>
<li class="task-list-item"><input class="task-list-item-checkbox" disabled="" type="checkbox">  c.	打印</li>
<li class="task-list-item"><input class="task-list-item-checkbox" disabled="" type="checkbox">  d.	程序有误，不能运行<br>
:::info{title=&quot;相关信息&quot;}<br>
<strong>子类构造函数被调用，都为调用重写后的方法</strong><br>
:::</li>
</ul>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/自我提升">自我提升</category>
        </item>
        <item>
            <title><![CDATA[运算符重载]]></title>
            <link>http://blog.wilsonzy.cn/post/68</link>
            <guid>http://blog.wilsonzy.cn/post/68</guid>
            <pubDate>Fri, 30 May 2025 09:22:43 GMT</pubDate>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <!-- more -->
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-comment">//新建类  Student.cs</span>
<span class="hljs-keyword">class</span> <span class="hljs-title">Student</span> {
  <span class="hljs-keyword">private</span> <span class="hljs-built_in">int</span> age;
  <span class="hljs-keyword">private</span> <span class="hljs-built_in">string</span> name;
  <span class="hljs-keyword">private</span> <span class="hljs-built_in">long</span> id;

  <span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-title">Student</span>(<span class="hljs-params"><span class="hljs-built_in">int</span> age, <span class="hljs-built_in">string</span> name, <span class="hljs-built_in">long</span> id</span>)</span> {
    <span class="hljs-keyword">this</span>.age = age;
    <span class="hljs-keyword">this</span>.name = name;
    <span class="hljs-keyword">this</span>.id = id;
  }
  <span class="hljs-comment">//  带函数方法开始  == !=</span>
  <span class="hljs-keyword">public</span> <span class="hljs-keyword">static</span> <span class="hljs-built_in">bool</span> <span class="hljs-keyword">operator</span> == (Student s1, Student s2) {
    <span class="hljs-keyword">if</span> (s1.age == s2.age &amp;&amp; s1.name == s2.name &amp;&amp; s1.id == s2.id) {
      <span class="hljs-keyword">return</span> <span class="hljs-literal">true</span>;
    }
    <span class="hljs-keyword">return</span> <span class="hljs-literal">false</span>;
  }
  <span class="hljs-keyword">public</span> <span class="hljs-keyword">static</span> <span class="hljs-built_in">bool</span> <span class="hljs-keyword">operator</span> != (Student s1, Student s2) {
    <span class="hljs-built_in">bool</span> result = s1 == s2;
    <span class="hljs-keyword">return</span> !result;
  }
  <span class="hljs-comment">//  带函数方法结束</span>
}
</code></pre>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-comment">//使用  Program.cs</span>
Student s1 = <span class="hljs-keyword">new</span> Student(<span class="hljs-number">20</span>, <span class="hljs-string">&quot;张三&quot;</span>, <span class="hljs-number">12903</span>);
Student s2 = <span class="hljs-keyword">new</span> Student(<span class="hljs-number">20</span>, <span class="hljs-string">&quot;张三&quot;</span>, <span class="hljs-number">12903</span>);

Student s3 = s1;
Console.WriteLine(s1 == s2);
Console.WriteLine(s1 == s3);
<span class="hljs-comment">// 上面方法带函数方法  比较的是参数值   值都为True</span>
<span class="hljs-comment">// 上面方法不带函数方法  比较的是引用   值为 Flase   True</span>
</code></pre>
<p><img src="/static/img/ba6cda0f8b91b159c76183558feade7c.image.png" alt="image.png"></p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/自我提升">自我提升</category>
        </item>
        <item>
            <title><![CDATA[索引器]]></title>
            <link>http://blog.wilsonzy.cn/post/67</link>
            <guid>http://blog.wilsonzy.cn/post/67</guid>
            <pubDate>Fri, 30 May 2025 09:24:28 GMT</pubDate>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <!-- more -->
<p>利用索引器取值  赋值<br>
<strong>案例1</strong></p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-comment">// 创建Test.cs  类</span>
<span class="hljs-keyword">class</span> <span class="hljs-title">Test</span> {
  <span class="hljs-keyword">public</span> <span class="hljs-built_in">string</span> <span class="hljs-keyword">this</span>[<span class="hljs-built_in">int</span> index] {
    <span class="hljs-keyword">get</span> {
      Console.WriteLine([index]);
      <span class="hljs-keyword">return</span> <span class="hljs-number">100</span>；
    }
    <span class="hljs-keyword">set</span> {
      Console.WriteLine([index]);
      Console.WriteLine(<span class="hljs-keyword">value</span>);
    }
  }
}
</code></pre>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-comment">//使用 Program.cs</span>
Test t = <span class="hljs-keyword">new</span> Test();

t[<span class="hljs-number">9</span>] = <span class="hljs-number">200</span>;
Console.WriteLine(t[<span class="hljs-number">9</span>]);
</code></pre>
<p><strong>案例2</strong></p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-comment">// 创建Test.cs  类</span>
<span class="hljs-keyword">class</span> <span class="hljs-title">Test</span> {

  <span class="hljs-keyword">private</span> <span class="hljs-built_in">string</span>[] name = <span class="hljs-keyword">new</span> <span class="hljs-built_in">string</span>[<span class="hljs-number">10</span>];

  <span class="hljs-keyword">public</span> <span class="hljs-built_in">string</span> <span class="hljs-keyword">this</span>[<span class="hljs-built_in">int</span> index] {
    <span class="hljs-keyword">get</span> {
      <span class="hljs-keyword">return</span> name[index];
    }
    <span class="hljs-keyword">set</span> {
      name[index] = <span class="hljs-keyword">value</span>;
    }
  }
}
</code></pre>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-comment">//使用 Program.cs</span>
Test t = <span class="hljs-keyword">new</span> Test();
t[<span class="hljs-number">0</span>] = <span class="hljs-string">&quot;张三&quot;</span>;
t[<span class="hljs-number">1</span>] = <span class="hljs-string">&quot;李四&quot;</span>; <span class="hljs-comment">//赋值</span>

Console.WriteLine(t[<span class="hljs-number">0</span>]);
Console.WriteLine(t[<span class="hljs-number">1</span>]); <span class="hljs-comment">//取值</span>
</code></pre>
<p><strong>案例3</strong></p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-comment">// 创建Week.cs  类</span>
<span class="hljs-keyword">class</span> <span class="hljs-title">Week</span> {
  <span class="hljs-keyword">private</span> <span class="hljs-built_in">string</span>[] days = {
    <span class="hljs-string">&quot;Mon&quot;</span>,
    <span class="hljs-string">&quot;Tues&quot;</span>,
    <span class="hljs-string">&quot;Wed&quot;</span>,
    <span class="hljs-string">&quot;Thu&quot;</span>,
    <span class="hljs-string">&quot;Fri&quot;</span>,
    <span class="hljs-string">&quot;Sat&quot;</span>,
    <span class="hljs-string">&quot;Sun&quot;</span>
  };

  <span class="hljs-comment">// public int GetDay(string day)  //传递英文返回数值    </span>
  <span class="hljs-function"><span class="hljs-keyword">private</span> <span class="hljs-built_in">int</span> <span class="hljs-title">GetDay</span>(<span class="hljs-params"><span class="hljs-built_in">string</span> day</span>) <span class="hljs-comment">//使用方法2索引时，需将public改为private</span></span>
  {
    <span class="hljs-built_in">int</span> i = <span class="hljs-number">0</span>; <span class="hljs-comment">//开始传递</span>
    <span class="hljs-keyword">foreach</span>(<span class="hljs-built_in">string</span> temp <span class="hljs-keyword">in</span> days) {
      <span class="hljs-keyword">if</span> (temp == day) <span class="hljs-keyword">return</span> i + <span class="hljs-number">1</span>; <span class="hljs-comment">//找到索引</span>
      i++;
    }
    <span class="hljs-keyword">return</span> <span class="hljs-number">-1</span>;
  }

  <span class="hljs-keyword">public</span> <span class="hljs-built_in">int</span> <span class="hljs-keyword">this</span>[<span class="hljs-built_in">string</span> day] {
    <span class="hljs-keyword">get</span> {
      <span class="hljs-keyword">return</span> GetDay(day); <span class="hljs-comment">//调用上面的方法</span>
    }
  }
}
</code></pre>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-comment">//使用 Program.cs</span>
<span class="hljs-comment">//方法1</span>
Week w = <span class="hljs-keyword">new</span> Week();
Console.WriteLine(w.GetDay(<span class="hljs-string">&quot;Thu&quot;</span>));
<span class="hljs-comment">//方法2</span>
Console.WriteLine(w[<span class="hljs-string">&quot;Sat&quot;</span>]);
</code></pre>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/自我提升">自我提升</category>
        </item>
        <item>
            <title><![CDATA[接口]]></title>
            <link>http://blog.wilsonzy.cn/post/66</link>
            <guid>http://blog.wilsonzy.cn/post/66</guid>
            <pubDate>Fri, 30 May 2025 09:25:47 GMT</pubDate>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <!-- more -->
<h2>定义接口(⻜翔功能)</h2>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-keyword">public</span> <span class="hljs-keyword">interface</span> <span class="hljs-title">IFlyHandler</span>{
<span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Fly</span>()</span>;
}  
</code></pre>
<h2>实现接口</h2>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-keyword">public</span> <span class="hljs-keyword">class</span> <span class="hljs-title">Type1Enemy</span>:<span class="hljs-title">IFlyHandler</span>{
} 
</code></pre>
<p>USB接⼝，⽿机接⼝。只提供了接⼝，没有提供实现，让其他开发商实现。<br>
定义⼀个接⼝在语法上跟定义⼀个抽象类完全相同，但不允许提供接⼝中任何成员的实现⽅式，⼀般情况下，接⼝只能包含⽅法，属性，索引器和事件的声明。<br>
<strong>接⼝不能有构造函数，也不能有字段，接⼝也不允许运算符重载</strong>。<br>
接⼝定义中不允许声明成员的修饰符，<strong>接⼝成员都是公有的</strong></p>
<h2>派⽣的接⼝</h2>
<p>接⼝可以彼此继承，其⽅式和类的继承⽅式相同</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-keyword">public</span> <span class="hljs-keyword">interface</span> <span class="hljs-title">A</span>{
<span class="hljs-function"><span class="hljs-keyword">void</span> <span class="hljs-title">Method1</span>()</span>;
}
<span class="hljs-keyword">public</span> <span class="hljs-keyword">interface</span> <span class="hljs-title">B</span>:<span class="hljs-title">A</span>{
<span class="hljs-function"><span class="hljs-keyword">void</span> <span class="hljs-title">Method2</span>()</span>;
} 
</code></pre>
<p>⻜翔功能示例代码</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-comment">//添加接口  IFly.cs</span>
<span class="hljs-keyword">interface</span> <span class="hljs-title">IFly</span> {
  <span class="hljs-function"><span class="hljs-keyword">void</span> <span class="hljs-title">Fly</span>()</span>;
  <span class="hljs-function"><span class="hljs-keyword">void</span> <span class="hljs-title">FlyAttack</span>()</span>;
}
</code></pre>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-comment">//添加飞机 类 Plane.cs</span>
<span class="hljs-keyword">class</span> <span class="hljs-title">Plane</span>: <span class="hljs-title">IFly</span> <span class="hljs-comment">//光标定位到改行会警示  右键 💡   实现接口</span>
{
  <span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Fly</span>()</span> {
    Console.WriteLine(<span class="hljs-string">&quot;飞机在空中飞&quot;</span>);
  }

  <span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">void</span> <span class="hljs-title">FlyAttack</span>()</span> {
    Console.WriteLine(<span class="hljs-string">&quot;在空中攻击&quot;</span>);
  }
    }
</code></pre>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-comment">//添加小鸟  类 Bird.cs</span>
<span class="hljs-keyword">class</span> <span class="hljs-title">Bird</span>: <span class="hljs-title">IFly</span> {
  <span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Fly</span>()</span> {
    Console.WriteLine(<span class="hljs-string">&quot;小鸟在空中飞&quot;</span>);
  }

  <span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">void</span> <span class="hljs-title">FlyAttack</span>()</span> {
    Console.WriteLine(<span class="hljs-string">&quot;小鸟在空中攻击&quot;</span>);
  }
}
</code></pre>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-comment">//使用Program.cs</span>
<span class="hljs-comment">//使用1</span>
Plane p = <span class="hljs-keyword">new</span> Plane();
p.Fly();
p.FlyAttack();

<span class="hljs-comment">//使用2  多态</span>
IFly fly;
fly = <span class="hljs-keyword">new</span> Plane();
fly.Fly();
fly.FlyAttack();

fly = <span class="hljs-keyword">new</span> Bird();
fly.Fly();
fly.FlyAttack();
</code></pre>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/自我提升">自我提升</category>
        </item>
        <item>
            <title><![CDATA[修饰符]]></title>
            <link>http://blog.wilsonzy.cn/post/65</link>
            <guid>http://blog.wilsonzy.cn/post/65</guid>
            <pubDate>Fri, 30 May 2025 09:26:50 GMT</pubDate>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <!-- more -->
<h2>修饰符</h2>
<p>修饰符，⽤来类型或者成员的关键字。修饰符可以指定⽅法的可⻅性。<br>
<strong>public</strong>: 同⼀程序集(DLL或EXE)中的任何其他代码或引⽤该程序集的其他程序集都可<br>
以访问该类型或成员。<strong>同一项目</strong><br>
<strong>private</strong>: 只有同⼀类或结构中的代码可以访问该类型或成员。<strong>类中访问</strong><br>
<strong>protected</strong>: 只有同⼀类或结构或者此类的派⽣类中的代码才可以访问该类型或成员。<strong>子类中访问</strong><br>
<strong>internal</strong>: 同⼀程序集中的任何代码都可以访问该类型或成员，但的代码不可以。<br>
<strong>protected internal</strong>: 在⼀程序集中，protected internal体现的是internal的性质；在其他程序集中，protected internal体现的是protected的性质。<br>
public 和private修饰字段和⽅法的时候，表⽰该字段或者⽅法能不能通过对象去访问，只<br>
有public的才可以通过对象访问，private（私有的）只能在类模板内部访问。<br>
protected 保护的，当没有继承的时候，它的作⽤和private是⼀样的，当有继承的时候，<br>
protected表⽰可以被⼦类访问的字段或者⽅法</p>
<h2>类的修饰符</h2>
<p>public class ...<br>
class ...</p>
<p>:::info{title=&quot;相关信息&quot;}<br>
<strong>前者可以在别的项⽬下访问</strong>，后者不⾏<br>
1、添加别的项目的引用 using System.Collections.Generic;<br>
2、引入命名空间<br>
3、把类设置为public<br>
:::</p>
<h2>其他修饰符</h2>
<p><strong>new</strong><br>
隐藏继承的成员</p>
<p><strong>abstract</strong><br>
使⽤abstract修饰的类为<strong>抽象类</strong>，抽象类只能是其他类的基类，不能与sealed、static⼀起使⽤。</p>
<p><strong>abstract</strong>可以修饰抽象<strong>类中的⽅法或属性</strong>，此时，⽅法或属性不能包含实现，且访问级别不能为私有。<br>
<strong>抽象类不能被实例化</strong>。</p>
<p><strong>sealed</strong><br>
使⽤sealed修饰的类为密封类，<strong>密封类⽆法被继承</strong>，不能和abstract、static⼀起使⽤。<br>
当sealed⽤于⽅法或属性时，必须<strong>始终与override⼀起使⽤</strong>。</p>
<p><strong>static</strong><br>
使⽤static修饰的类为<strong>静态类</strong>，静态类所有成员都必须是静态的，不能与abstract、sealed<br>
⼀起使⽤。</p>
<p>static可以修饰⽅法、字段、属性或事件，始终通过类名⽽不是实例名称访问静态成员，静态字段只有⼀个副本。<br>
<strong>静态类不能被实例化</strong>。</p>
<p><strong>const</strong><br>
使⽤const关键字来声明某个常量字段或常量局部变量，<strong>必须在声明常量时赋初值</strong>。<br>
不能与static⼀起使⽤，<strong>常量默认是static</strong>的，常量字段只有⼀个副本。</p>
<p><strong>readonly</strong><br>
使⽤readonly关键字来<strong>声明只读字段</strong>。<br>
只读字段可以在声明或构造函数中初始化，每个类或结构的实例都有⼀个独⽴的副本。<br>
可以与static⼀起使⽤，声明静态只读字段。<br>
静态只读字段可以在声明或静态构造函数中初始化，静态常量字段只有⼀个副本。</p>
<p>示例代码</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-comment">//base.cs 基类</span>
<span class="hljs-keyword">class</span> <span class="hljs-title">Base</span> {
  <span class="hljs-keyword">public</span> <span class="hljs-keyword">readonly</span> <span class="hljs-built_in">int</span> hp = <span class="hljs-number">100</span>;
  <span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-title">Base</span>()</span> {
  }
  <span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-title">Base</span>(<span class="hljs-params"><span class="hljs-built_in">int</span> hp</span>)</span> {
    <span class="hljs-keyword">this</span>.hp = hp;
  }
}
</code></pre>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-comment">//使用  Program.cs</span>
Base b = <span class="hljs-keyword">new</span> Base(<span class="hljs-number">200</span>);
Console.WriteLine(b.hp);

b.hp = <span class="hljs-number">300</span>;
</code></pre>
<p><strong>virtual</strong><br>
virtual关键字⽤于修饰⽅法、属性、索引器或事件声明，并使它们可以在<strong>派⽣类中被重写</strong>。<br>
默认情况下，⽅法是⾮虚拟的。 不能重写⾮虚⽅法。<br>
virtual修饰符不能与static、abstract、private或override修饰符⼀起使⽤。</p>
<p><strong>override</strong><br>
要扩展或修改继承的⽅法、属性、索引器或事件的抽象实现或虚实现，必须使⽤override<br>
修饰符。<br>
<strong>重写的成员必须是virtual、abstract或override</strong>的。</p>
<p>:::info{title=&quot;相关信息&quot;}<br>
引⽤⾃：https://www.cnblogs.com/zhouzl/archive/2019/04/13/10701476.html<br>
:::</p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/自我提升">自我提升</category>
        </item>
        <item>
            <title><![CDATA[虚方法与隐藏方法]]></title>
            <link>http://blog.wilsonzy.cn/post/64</link>
            <guid>http://blog.wilsonzy.cn/post/64</guid>
            <pubDate>Fri, 30 May 2025 09:29:28 GMT</pubDate>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <!-- more -->
<h2>虚⽅法</h2>
<p><strong>把⼀个基类函数声明为virtual,就可以在任何派⽣类中重写该函数</strong>:</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-keyword">class</span> <span class="hljs-title">MyBaseClass</span>{
<span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">virtual</span> <span class="hljs-built_in">string</span> <span class="hljs-title">VirtualMethod</span>()</span>{
<span class="hljs-keyword">return</span> <span class="hljs-string">&quot;Method is called in base class&quot;</span>;
}
}  
</code></pre>
<p><strong>在派⽣类中重写另外⼀个函数时，要使⽤override关键字显⽰声明</strong></p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-keyword">class</span> <span class="hljs-title">MyDerivedClass</span>:<span class="hljs-title">MyBaseClass</span>{
<span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">override</span> <span class="hljs-built_in">string</span> <span class="hljs-title">VirtualMethod</span>()</span>{
<span class="hljs-keyword">return</span> <span class="hljs-string">&quot;Method is called in derivedclass.&quot;</span>;
}
}  

</code></pre>
<p>示例代码</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-comment">// Enemy.cs 基类</span>
<span class="hljs-keyword">class</span> <span class="hljs-title">Enemy</span> {
  <span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Move</span>()</span> {
    Console.WriteLine(<span class="hljs-string">&quot;敌人进行移动&quot;</span>);
  }
}
</code></pre>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-comment">// Boss.cs 派生类</span>
<span class="hljs-keyword">class</span> <span class="hljs-title">Boss</span>: <span class="hljs-title">Enemy</span> {
  <span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">override</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Move</span>()</span> {
    Console.WriteLine(<span class="hljs-string">&quot;Boss特有的移动方法&quot;</span>);
  }
  <span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">void</span> <span class="hljs-title">BossSkill</span>()</span> {
    Console.WriteLine(<span class="hljs-string">&quot;Boss特有的技能&quot;</span>);
  }
}
</code></pre>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-comment">// Program.cs 使用</span>
Boss b = <span class="hljs-keyword">new</span> Boss();
b.Move();

<span class="hljs-comment">//虚函数</span>
Enemy b2 = <span class="hljs-keyword">new</span> Boss();
b2.Move();
</code></pre>
<p>:::info{title=&quot;相关信息&quot;}<br>
我们在⼦类⾥⾯重写虚函数之后，不管在哪⾥调⽤都是调⽤重写之后的⽅法<br>
<strong>可以把子类赋值于父类，不能把父类赋值于子类</strong><br>
:::</p>
<h2>隐藏⽅法</h2>
<p>如果签名相同的⽅法在基类和派⽣类中都进⾏了声明，但是该⽅法没有分别声明为virtual<br>
和override，派⽣类就会隐藏基类⽅法。（<strong>要使⽤new关键字进⾏声明</strong>）</p>
<p>基类</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-keyword">class</span> <span class="hljs-title">MyBaseClass</span>{
<span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-built_in">int</span> <span class="hljs-title">MyMethod</span>()</span>{
}
}  

</code></pre>
<p>派⽣类(在派⽣类中把基类同名的⽅法隐藏掉了)</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-keyword">class</span> <span class="hljs-title">MyDerivedClass</span> :<span class="hljs-title">MyBaseClass</span>{
<span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">new</span> <span class="hljs-keyword">void</span> <span class="hljs-title">MyMethod</span>()</span> {
}
}  
</code></pre>
<p>示例代码</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-comment">// Enemy.cs 基类</span>
<span class="hljs-keyword">class</span> <span class="hljs-title">Enemy</span> {
  <span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">void</span> <span class="hljs-title">AI</span>()</span> {
    Console.WriteLine(<span class="hljs-string">&quot;敌人的AI&quot;</span>);
  }
}
</code></pre>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-comment">// Boss.cs 派生类</span>
<span class="hljs-keyword">class</span> <span class="hljs-title">Boss</span>: <span class="hljs-title">Enemy</span> {
  <span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">new</span> <span class="hljs-keyword">void</span> <span class="hljs-title">AI</span>()</span> {
    Console.WriteLine(<span class="hljs-string">&quot;Boss自己的AI&quot;</span>);
  }
}
</code></pre>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-comment">// Program.cs 使用</span>
Boss b = <span class="hljs-keyword">new</span> Boss();
b.AI();

Enemy b = <span class="hljs-keyword">new</span> Boss();
b.AI();
</code></pre>
<h2>抽象类</h2>
<p>C#允许把类和函数声明为 abstract。 <strong>抽象类不能实例化</strong>,抽象类可以包含普通函数和抽象函数，抽象函数就是<strong>只有函数定义没有函数体</strong>。 显然,抽象函数本⾝也是虚拟的Virtual(只<br>
有函数定义，没有函数体实现)。<br>
类是⼀个模板，那么抽象类就是⼀个不完整的模板，我们不能使⽤不完整的模板去构造对<br>
象。</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-keyword">abstract</span> <span class="hljs-keyword">class</span> <span class="hljs-title">Building</span>{
<span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">abstract</span> <span class="hljs-built_in">decimal</span> <span class="hljs-title">CalculateHeatingCost</span>()</span>;
}  

</code></pre>
<p>示例代码</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-comment">// Enemy.cs 抽象类</span>
<span class="hljs-keyword">public</span> <span class="hljs-keyword">abstract</span> <span class="hljs-keyword">class</span> <span class="hljs-title">Enemy</span> {
  <span class="hljs-keyword">private</span> <span class="hljs-built_in">int</span> hp;
  <span class="hljs-keyword">private</span> <span class="hljs-built_in">int</span> speed;

  <span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Move</span>()</span> {
    Console.WriteLine(<span class="hljs-string">&quot;Move&quot;</span>);
  }
  <span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">abstract</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Attack</span>()</span>;

}
</code></pre>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-comment">// Boss.cs 派生类</span>
    <span class="hljs-keyword">public</span> <span class="hljs-keyword">class</span> <span class="hljs-title">Boss</span> : <span class="hljs-title">Enemy</span>  <span class="hljs-comment">//光标定位到这一行，右键 💡 实现抽象类</span>
    {
        <span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">override</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Attack</span>()</span>
        {
            Console.WriteLine(<span class="hljs-string">&quot;Boss进行攻击&quot;</span>);
        }
    }
</code></pre>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-comment">// Program.cs 使用</span>
Enemy e = <span class="hljs-keyword">new</span> Boss();
e.Attack();
</code></pre>
<h2>密封类和密封⽅法</h2>
<p>C#允许把类和⽅法声明为 sealed。 对于类 ,这表⽰不能继承该类；对于⽅法表⽰不能重<br>
写该⽅法。</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-keyword">sealed</span> FinalClass
{
<span class="hljs-comment">// etc</span>
}
</code></pre>
<p>:::note{title=&quot;什么时候使⽤ 密封类和密封⽅法？ &quot;}</p>
<ul>
<li>防⽌重写某些类导致代码混乱</li>
<li>商业原因<br>
:::</li>
</ul>
<h2>派⽣类（⼦类）的构造函数</h2>
<p>1,<strong>在⼦类中调⽤⽗类</strong>的默认构造函数（⽆参）（<strong>会先调⽤⽗类的，然后是⼦类</strong>的）</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-keyword">public</span> <span class="hljs-keyword">class</span> <span class="hljs-title">MyDerivedClass</span>{
<span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-title">MyDerivedClass</span>():<span class="hljs-title">base</span>()</span>{
<span class="hljs-comment">//do something</span>
}
}  
</code></pre>
<p>在这⾥ ：<strong>base()可以直接不写，因为默认会调⽤</strong>⽗类中的默认构造函数</p>
<p>2，调⽤有参数的构造函数</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-keyword">public</span> <span class="hljs-keyword">class</span> <span class="hljs-title">MyDerivedClass</span>{
<span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-title">MyDerivedClass</span>(<span class="hljs-params"><span class="hljs-built_in">string</span> name</span>):<span class="hljs-title">base</span>(<span class="hljs-params">name</span>)</span>{
<span class="hljs-comment">//do something</span>
}
}
</code></pre>
<p>示例代码</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-comment">// BaseClass.cs 父类</span>
<span class="hljs-keyword">class</span> <span class="hljs-title">BaseClass</span> {
  <span class="hljs-keyword">private</span> <span class="hljs-built_in">int</span> hp;
  <span class="hljs-keyword">private</span> <span class="hljs-built_in">int</span> speed = <span class="hljs-number">900</span>;
  <span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-title">BaseClass</span>(<span class="hljs-params"><span class="hljs-built_in">int</span> hp, <span class="hljs-built_in">int</span> speed</span>)</span> {
    <span class="hljs-keyword">this</span>.hp = hp;
    <span class="hljs-keyword">this</span>.speed = speed;
  }
  <span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-title">BaseClass</span>()</span> {
    Console.WriteLine(<span class="hljs-string">&quot;构造函数：BaseClass&quot;</span>);
  }
}
</code></pre>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-comment">// DrivedClass.cs 子类</span>
<span class="hljs-keyword">class</span> <span class="hljs-title">DrivedClass</span>: <span class="hljs-title">BaseClass</span> {
  <span class="hljs-keyword">private</span> <span class="hljs-built_in">int</span> attack;

  <span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-title">DrivedClass</span>()</span> {
    Console.WriteLine(<span class="hljs-string">&quot;构造函数：DrivedClass&quot;</span>);
  }

  <span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-title">DrivedClass</span>(<span class="hljs-params"><span class="hljs-built_in">int</span> attack</span>)</span> {
    <span class="hljs-keyword">this</span>.attack = attack;
  }
  <span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-title">DrivedClass</span>(<span class="hljs-params"><span class="hljs-built_in">int</span> attack, <span class="hljs-built_in">int</span> hp, <span class="hljs-built_in">int</span> speed</span>): <span class="hljs-title">base</span>(<span class="hljs-params">hp, speed</span>)</span> {
    <span class="hljs-keyword">this</span>.attack = attack;
  }
}
</code></pre>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-comment">// Program.cs 使用</span>
DrivedClass dc = <span class="hljs-keyword">new</span> DrivedClass(<span class="hljs-number">100</span>, <span class="hljs-number">80</span>, <span class="hljs-number">10</span>);
Boss b = <span class="hljs-keyword">new</span> Boss();

<span class="hljs-comment">// 1、添加别的项目的引用 using System.Collections.Generic;</span>
<span class="hljs-comment">// 2、引入命名空间  </span>
<span class="hljs-comment">// 3、把类设置为public</span>
</code></pre>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/自我提升">自我提升</category>
        </item>
        <item>
            <title><![CDATA[⾯向对象-继承]]></title>
            <link>http://blog.wilsonzy.cn/post/63</link>
            <guid>http://blog.wilsonzy.cn/post/63</guid>
            <pubDate>Fri, 30 May 2025 09:31:16 GMT</pubDate>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <!-- more -->
<p>继承是什么？<br>
在上⼀节课中学习了如何定义类，⽤类当做模板来声明我们的数据。<br>
很多类中有相似的数据，⽐如在⼀个游戏中，有Boss类，⼩怪类Enemy，这些类他们有<br>
很多相同的属性，也有不同的，这个时候我们可以使⽤<strong>继承来让这两个类继承⾃同⼀个类</strong>。</p>
<h2>继承的类型</h2>
<p><strong>实现继承：</strong></p>
<p>表⽰⼀个类型派⽣于⼀个基类型,它拥有该基类型的所有成员字段和函数。 在实现继承中,派⽣类型采⽤基类型的每个函数的实现代码,除⾮在派⽣类型的定义中指定重写某个函数的实现代码。 在需要给现有的类型添加功能,或许多相关的类型共享⼀组重要的公共功能时,这种类型的继承⾮常有⽤。</p>
<p><strong>接⼝继承：</strong></p>
<p>表⽰⼀个类型只继承了函数的签名,没有继承任何实现代码。 在需要指定该类型具有某些可⽤的特性时,最好使⽤这种类型的继承。</p>
<p><strong>多重继承</strong></p>
<p>⼀些语⾔(C++)⽀持所谓的 “多重继承”,即⼀个类派⽣⾃多个类。<br>
使⽤<strong>多重继承的优点</strong>是有争议的:</p>
<ol>
<li>可以使⽤多重继承编写⾮常复杂、但很紧凑的代码。</li>
<li>使⽤多重实现继承的代码常常很难理解和调试。</li>
</ol>
<p>如前所述,简化健壮代码的编写⼯作是开发 C#的重要设计⽬标。因此,<strong>C#不⽀持多重实现继承</strong>。  ⽽ <strong>C#允许类型派⽣⾃多个接口— — 多重接⼝继承</strong>。 这说明,C#类可以派⽣⾃另⼀个类和任意多个接⼝。<br>
更准确地说,<br>
<strong>System.Object 是⼀个公共的基类,所以每个C#(除了Object类之外)都有⼀个基类,还可以有任意多个基接⼝。</strong></p>
<h2>实现继承</h2>
<p>如果要声明派⽣⾃另⼀个类的⼀个类,就可以使⽤下⾯的语法:</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-keyword">class</span> <span class="hljs-title">MyDerivedClass</span> : <span class="hljs-title">MyBaseclass</span>
{
<span class="hljs-comment">// functions and data members here</span>
}  
</code></pre>
<p>如果类(或 结构)也 <strong>派⽣ ⾃ 接⼝,则⽤逗号分隔列表中的基类和接口</strong>:</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-keyword">public</span> <span class="hljs-keyword">class</span> <span class="hljs-title">MyDerivedClass</span>: <span class="hljs-title">MyBaseClass</span> , <span class="hljs-title">IInterface1</span> , <span class="hljs-title">IInterface2</span>
{
<span class="hljs-comment">// etc.</span>
}** **
</code></pre>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-comment">//基类 BaseClass.cs</span>
<span class="hljs-keyword">class</span> <span class="hljs-title">BaseClass</span> {
  <span class="hljs-keyword">public</span> <span class="hljs-built_in">int</span> data1;
  <span class="hljs-keyword">public</span> <span class="hljs-built_in">string</span> data2;

  <span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function1</span>()</span> {
    Console.WriteLine(<span class="hljs-string">&quot;BaseClass:Function1&quot;</span>);
  }
  <span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function2</span>()</span> {
    Console.WriteLine(<span class="hljs-string">&quot;BaseClass:Function2&quot;</span>);
  }
}
</code></pre>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-comment">//派生类 DrivedClass1.cs</span>
<span class="hljs-keyword">class</span> <span class="hljs-title">DrivedClass1</span>: <span class="hljs-title">BaseClass</span> {
  <span class="hljs-keyword">public</span> <span class="hljs-built_in">int</span> data3;

  <span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">void</span> <span class="hljs-title">FunctionDrivedClass1</span>()</span> {
    Console.WriteLine(<span class="hljs-string">&quot;FunctionDrivedClass1&quot;</span>);
  }
}
</code></pre>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-comment">//使用  Program.cs</span>
BaseClass bc = <span class="hljs-keyword">new</span> BaseClass();
bc.Function1();
bc.Function2();

DrivedClass1 dc1 = <span class="hljs-keyword">new</span> DrivedClass1();
dc1.Function1();
dc1.Function2();
</code></pre>
<p><strong>案例实现</strong></p>
<p>基类敌⼈类( hp speed ⽅法 ai move )</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-comment">//新建基类 Enemy.cs</span>
<span class="hljs-keyword">class</span> <span class="hljs-title">Enemy</span> {

  <span class="hljs-keyword">protected</span> <span class="hljs-built_in">int</span> hp; <span class="hljs-comment">// private protected public </span>
  <span class="hljs-keyword">protected</span> <span class="hljs-built_in">int</span> speed;

  <span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">void</span> <span class="hljs-title">AI</span>()</span> {
    Console.WriteLine(<span class="hljs-string">&quot;AI&quot;</span>);
  }
  <span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Move</span>()</span> {
    Console.WriteLine(<span class="hljs-string">&quot;Move&quot;</span>);
  }

}
</code></pre>
<p>派⽣出来两个类</p>
<ul>
<li>boss类</li>
<li>type1enemy类</li>
<li>type2enemy类</li>
</ul>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-comment">//新建类 boss.cs</span>
<span class="hljs-keyword">class</span> <span class="hljs-title">Boss</span>: <span class="hljs-title">Enemy</span> {
  <span class="hljs-keyword">private</span> <span class="hljs-built_in">int</span> attack;
  <span class="hljs-keyword">private</span> <span class="hljs-built_in">int</span> hp;

  <span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-title">Boss</span>(<span class="hljs-params"><span class="hljs-built_in">int</span> attack, <span class="hljs-built_in">int</span> hp, <span class="hljs-built_in">int</span> speed</span>)</span> {
    <span class="hljs-keyword">this</span>.attack = attack;
    <span class="hljs-keyword">base</span>.hp = hp;
    <span class="hljs-keyword">base</span>.speed = speed;
  }

  <span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Skill</span>()</span> {
    Console.WriteLine(<span class="hljs-string">&quot;Boss Skill&quot;</span>);
  }

  <span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Print</span>()</span> {
    Console.WriteLine(<span class="hljs-string">&quot;HP:&quot;</span> + hp);
    Console.WriteLine(<span class="hljs-string">&quot;Base.HP:&quot;</span> + <span class="hljs-keyword">base</span>.hp);
    Console.WriteLine(<span class="hljs-string">&quot;Speed:&quot;</span> + speed);
    Console.WriteLine(<span class="hljs-string">&quot;Attack:&quot;</span> + attack);
  }
}
</code></pre>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-comment">//新建类 Type1Enemy.cs</span>
<span class="hljs-keyword">class</span> <span class="hljs-title">Type1Enemy</span>:<span class="hljs-title">Enemy</span>
 {
 }
</code></pre>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-comment">//新建类 Type2Enemy.cs</span>
<span class="hljs-keyword">class</span> <span class="hljs-title">Type2Enemy</span>:<span class="hljs-title">Enemy</span>
{
}
</code></pre>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-comment">//使用  Program.cs</span>
Boss boss1 = <span class="hljs-keyword">new</span> Boss(<span class="hljs-number">100</span>,<span class="hljs-number">100000</span>,<span class="hljs-number">20</span>);
boss1.Print();
</code></pre>
<h2>this和base关键字</h2>
<p>this（base）作⽤：</p>
<ul>
<li>IDE给提⽰</li>
<li>区分局部变量和字段</li>
</ul>
<p><strong>this可以访问当前类中定义的字段,属性和⽅法</strong>，有没有this都可以访问，有this以让IDE VS编译器给出提⽰，另外当⽅法的参数跟字段重名的时候，使⽤this可以表明访问的是类中的字段，<strong>base只可以调⽤⽗类中的公有⽅法和字段</strong>,有没有base都可以访问，但是加上base.IED⼯具会给出提⽰，把所有可以调⽤的字段和⽅法罗列出来⽅便选择</p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/自我提升">自我提升</category>
        </item>
        <item>
            <title><![CDATA[程序内存区域]]></title>
            <link>http://blog.wilsonzy.cn/post/62</link>
            <guid>http://blog.wilsonzy.cn/post/62</guid>
            <pubDate>Fri, 30 May 2025 09:33:04 GMT</pubDate>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <!-- more -->
<p>程序内存区域：<strong>堆 栈 静态存储区</strong></p>
<ul>
<li>程序所有的数据，也就是所有的变量，都是存储在内存中的。</li>
<li>栈空间⽐较⼩，但是读取速度快</li>
<li>堆空间⽐较⼤，但是读取速度慢</li>
</ul>
<p>商店和仓库</p>
<p><img src="/static/img/e22335489a56a4d42387f38193a6579f.image.png" alt="image.png"></p>
<h2>栈</h2>
<p>栈的特征：<br>
<strong>数据只能从栈的顶端插⼊和删除</strong></p>
<ul>
<li>把数据放⼊栈顶称为⼊栈（push）</li>
<li>从栈顶删除数据称为出栈（pop）</li>
</ul>
<p><img src="/static/img/7ad4b37c10b5f0609a74bd391bbf722f.image.png" alt="image.png"></p>
<p>内存中的栈，是由系统管理（.Net框架）。</p>
<p>我们之后会在数据结构中学习写⼀个⾃⼰的栈结构，保存数据。</p>
<h2>堆</h2>
<p>堆是⼀块内存区域，与栈不同，<strong>堆⾥的内存能够以任意顺序存⼊和移除</strong></p>
<p><img src="/static/img/acd692e52e1af27ddeebcd0200662ce5.image.png" alt="image.png"></p>
<p>GC Garbage Collector垃圾回收器<br>
CLR的GC就是内存管理机制，我们写程序不需要关⼼内存的使⽤，因为这些都是CLR帮我们做了。类似新生宿舍楼</p>
<p><img src="/static/img/11bba734862dffdc71267c4e21e77a0d.image.png" alt="image.png"></p>
<p>这⾥的某些概念，只需要了解和知道的，不需要知道内在核⼼原理，我们知道汽⻋的引擎<br>
是汽⻋的核⼼动⼒来源，我们不需要知道引擎是怎么造。<br>
同样，上述是编译器开发者的事情。</p>
<h2>值类型和引⽤类型</h2>
<p>类型被分为两种：</p>
<ul>
<li><strong>值类型(整数，bool struct char ⼩数)</strong>   😀 默认值为0</li>
<li><strong>引⽤类型（string 数组 ⾃定义的类，内置的类）</strong> 😀 默认值为null</li>
</ul>
<p><strong>值类型</strong>只需要⼀段单独的内存</p>
<ul>
<li>⽤于存储实际的数据，（单独定义的时候放在栈中）</li>
</ul>
<p><strong>引⽤类型</strong>需要两段内存</p>
<ul>
<li>第⼀段存储实际的数据，它总是位于堆中</li>
<li>第⼆段是⼀个引⽤，指向数据在堆中的存放位  （这里的引用是内存地址，类似酒店房间号）</li>
</ul>
<p><img src="/static/img/3ac5380e562a0e17b2f63dae660ce967.image.png" alt="image.png"></p>
<p>:::warning{title=&quot;注意&quot;}<br>
当我们<strong>使⽤引⽤类型赋值的时候</strong>，其实是<strong>赋值的引⽤类型的引⽤</strong><br>
如果数组是⼀个值<strong>类型的数组</strong>，那么数组中直接存储值，如果是⼀个引⽤类型的数组（数组中存储的是引⽤类型），那么数组中存储的是<strong>引⽤（内存地址）</strong><br>
:::</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-comment">//新建类 Customer.cs</span>
<span class="hljs-keyword">class</span> <span class="hljs-title">Customer</span> {
  <span class="hljs-keyword">public</span> <span class="hljs-built_in">string</span> name;
  <span class="hljs-keyword">public</span> <span class="hljs-built_in">string</span> address;
  <span class="hljs-keyword">public</span> <span class="hljs-built_in">int</span> age;
  <span class="hljs-keyword">public</span> <span class="hljs-built_in">string</span> createTime;

  <span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-title">Customer</span>(<span class="hljs-params"><span class="hljs-built_in">string</span> name, <span class="hljs-built_in">string</span> address, <span class="hljs-built_in">int</span> age, <span class="hljs-built_in">string</span> createTime</span>)</span> {
    <span class="hljs-keyword">this</span>.name = name;
    <span class="hljs-keyword">this</span>.address = address;
    <span class="hljs-keyword">this</span>.age = age;
    <span class="hljs-keyword">this</span>.createTime = createTime;
  }

  <span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Show</span>()</span> {
    Console.WriteLine(<span class="hljs-string">&quot;名字：&quot;</span> + name);
    Console.WriteLine(<span class="hljs-string">&quot;地址：&quot;</span> + address);
    Console.WriteLine(<span class="hljs-string">&quot;年龄：&quot;</span> + age);
    Console.WriteLine(<span class="hljs-string">&quot;创建时间：&quot;</span> + createTime);
  }
}
</code></pre>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-comment">//使用   Program.cs</span>
<span class="hljs-built_in">int</span> a = <span class="hljs-number">123</span>;
<span class="hljs-built_in">float</span> b = <span class="hljs-number">34.5</span> f;
<span class="hljs-built_in">bool</span> c = <span class="hljs-literal">true</span>;

<span class="hljs-built_in">string</span> name = <span class="hljs-string">&quot;zhangsan&quot;</span>;

<span class="hljs-built_in">int</span>[] array1 = <span class="hljs-keyword">new</span> <span class="hljs-built_in">int</span>[] { <span class="hljs-number">23</span>,<span class="hljs-number">23</span>,<span class="hljs-number">11</span>,<span class="hljs-number">32</span>,<span class="hljs-number">4</span>,<span class="hljs-number">2435</span>};
<span class="hljs-built_in">string</span>[] array2 = <span class="hljs-keyword">new</span> <span class="hljs-built_in">string</span>[] {<span class="hljs-string">&quot;www&quot;</span>,<span class="hljs-string">&quot;baidu&quot;</span>,<span class="hljs-string">&quot;com&quot;</span>};

Customer c1 = <span class="hljs-keyword">new</span> Customer(<span class="hljs-string">&quot;张三&quot;</span>, <span class="hljs-string">&quot;上海&quot;</span>, <span class="hljs-number">13</span>, <span class="hljs-string">&quot;2022&quot;</span>);

<span class="hljs-comment">//引用对象的改变</span>
Customer c2 = c1;
c1.Show(); <span class="hljs-comment">//输出中文张三</span>
c2.Show(); <span class="hljs-comment">//输出中文张三</span>

c2.name = <span class="hljs-string">&quot;zhangsan&quot;</span>;
c2.Show(); <span class="hljs-comment">//输出zhangsan</span>
c1.Show(); <span class="hljs-comment">//输出zhangsan</span>

<span class="hljs-comment">//将地址清空</span>
c1 = <span class="hljs-literal">null</span>; <span class="hljs-comment">//空 空引用 空对象</span>
c2 = <span class="hljs-literal">null</span>;
</code></pre>
<p><img src="/static/img/f24a1e3edbea536dbf10c8a54f188f3e.image.png" alt="image.png"></p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/自我提升">自我提升</category>
        </item>
        <item>
            <title><![CDATA[构造函数]]></title>
            <link>http://blog.wilsonzy.cn/post/61</link>
            <guid>http://blog.wilsonzy.cn/post/61</guid>
            <pubDate>Wed, 07 Aug 2024 12:55:51 GMT</pubDate>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <!-- more -->  
<h2>构造对象</h2>
<p>我们构造对象的时候，对象的初始化过程是⾃动完成的，但是在初始化对象的过程中有的<br>
时候需要做⼀些额外的⼯作，例如需要初始化对象存储的数据，<strong>构造函数就是⽤于初始化数据的函数</strong>。</p>
<p>声明基本的构造函数的语法就是声明⼀个和所在类同名的⽅法，但是该⽅法没有返回类型。</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-keyword">public</span> <span class="hljs-keyword">class</span> <span class="hljs-title">MyClass</span>{  
<span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-title">MyClass</span>()</span>{  
这个构造函数的函数体  
}  
}  
</code></pre>
<p>当我们<strong>使⽤new关键字创建类的时候，就会调⽤构造⽅法</strong>。<br>
我们⼀般会使⽤构造⽅法进⾏初始化数据的⼀些操作。<br>
构造函数可以进⾏重载，跟普通函数重载是⼀样的规则</p>
<p>:::warning{title=&quot;注意&quot;}<br>
当我们不写，任何构造函数的时候，编译器会提供给我们⼀个默认的 <strong>⽆参的构造函数</strong>，但是如果我们定义了⼀个或者多个构造函数，编译器就不会再提供默认的构造函数<br>
:::</p>
<h2>属性的定义</h2>
<p><strong>属性的定义结构</strong>：</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-keyword">public</span> <span class="hljs-built_in">int</span> MyIntProp{
<span class="hljs-keyword">get</span>{
<span class="hljs-comment">// get code</span>
}
<span class="hljs-keyword">set</span>{
<span class="hljs-comment">//set code</span>
}
} 
</code></pre>
<ul>
<li>定义属性需要名字和类型</li>
<li>属性包含两个块 get块和set块</li>
<li>访问属性和访问字段⼀样，当取得属性的值的时候，就会调⽤属性中的get块，所以<br>
get块，类型需要⼀个返回值就是属性的类型；当我们去给属性设置值的时候，就会调⽤属性中的set块，我们可以在set块中通过value访问到我们设置的值。</li>
</ul>
<p><strong>通过属性来访问字段</strong></p>
<p>我们习惯上把字段设置为私有的，这样外界不能修改字段的值，然后我们可以通过定义属<br>
性来设置和取得字段中的值。</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-keyword">private</span> <span class="hljs-built_in">int</span> age;  
<span class="hljs-keyword">public</span> <span class="hljs-built_in">int</span> Age{<span class="hljs-comment">//习惯上属性⼤写 字段⼩写</span>
 
 <span class="hljs-keyword">set</span>{
<span class="hljs-keyword">if</span>(<span class="hljs-keyword">value</span>&lt;<span class="hljs-number">0</span>)<span class="hljs-keyword">return</span>;
age = <span class="hljs-keyword">value</span>;
}
<span class="hljs-keyword">get</span>{
<span class="hljs-keyword">return</span> age;
}
} 
</code></pre>
<p>1、设置属性的只读或者只写</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-keyword">private</span> <span class="hljs-built_in">string</span> name;
<span class="hljs-keyword">public</span> <span class="hljs-built_in">string</span> name{
<span class="hljs-keyword">get</span>{
<span class="hljs-keyword">return</span> name;
}
}  
</code></pre>
<p>属性可以值只提供⼀个set块或者get块</p>
<p>2、属性的访问修饰符</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-keyword">public</span> <span class="hljs-built_in">string</span> name{
<span class="hljs-keyword">get</span>{
<span class="hljs-keyword">return</span> name;
}
<span class="hljs-keyword">private</span> <span class="hljs-keyword">set</span>{
name = <span class="hljs-keyword">value</span>;
}
} 
</code></pre>
<p>3、⾃动实现的属性</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-keyword">public</span> <span class="hljs-built_in">int</span> Age{<span class="hljs-keyword">get</span>;<span class="hljs-keyword">set</span>;}  
</code></pre>
<p>编译器会⾃动创建private int age属性</p>
<h2>匿名类型</h2>
<p>我们创建变量（对象的时候），必须指定类型，其实我们也可以<strong>不去指定类型，这个就是匿名类型</strong>，我们可以使⽤var声明⼀个匿名类型。<br>
<strong>使⽤var声明的匿名类型，当初始化的时候，这个变量的类型就被确定下来，并且以后不可以修改。</strong></p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-keyword">var</span> var1 = <span class="hljs-number">34</span>;
</code></pre>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/自我提升">自我提升</category>
        </item>
        <item>
            <title><![CDATA[类的定义和声明]]></title>
            <link>http://blog.wilsonzy.cn/post/60</link>
            <guid>http://blog.wilsonzy.cn/post/60</guid>
            <pubDate>Fri, 30 May 2025 09:34:41 GMT</pubDate>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <!-- more -->
<p><strong>类的定义和声明</strong></p>
<p>定义⼀个⻋辆（Vehicle）类，具有Run、Stop等⽅法，具有Speed（速度）、<br>
MaxSpeed（最⼤速度）、Weight（重量）等域（也叫做字段）。<br>
使⽤这个类声明⼀个变量（对象）</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-comment">//新建类  Vehicle.cs</span>
<span class="hljs-keyword">class</span> <span class="hljs-title">Vehicle</span> {
  <span class="hljs-keyword">public</span> <span class="hljs-built_in">string</span> brand;
  <span class="hljs-keyword">public</span> <span class="hljs-built_in">int</span> speed;
  <span class="hljs-keyword">public</span> <span class="hljs-built_in">int</span> maxSpeed;
  <span class="hljs-keyword">public</span> <span class="hljs-built_in">float</span> weight;

  <span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Run</span>()</span> {
    Console.WriteLine(<span class="hljs-string">&quot;车辆跑起来了&quot;</span>);
  }
  <span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Stop</span>()</span> {
    Console.WriteLine(<span class="hljs-string">&quot;车辆停止了&quot;</span>);
  }
}
</code></pre>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-comment">//使用   Program.cs</span>
Vehicle car1 = <span class="hljs-keyword">new</span> Vehicle();

car1.Run();
car1.Stop();
</code></pre>
<p>定义⼀个向量（Vector3）类，⾥⾯有x，y，z三个字段，有取得⻓度的⽅法，有设置属性<br>
（Set）的⽅法<br>
使⽤这个类声明⼀个变量（对象）</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-comment">//新建类  Vehicle3.cs</span>
<span class="hljs-keyword">class</span> <span class="hljs-title">Vector3</span> { <span class="hljs-comment">//基本类型 0   值类型的默认值0   引用类型的默认值是null</span>
  <span class="hljs-keyword">private</span> <span class="hljs-built_in">float</span> x;
  <span class="hljs-keyword">private</span> <span class="hljs-built_in">float</span> y;
  <span class="hljs-keyword">private</span> <span class="hljs-built_in">float</span> z;

  <span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">void</span> <span class="hljs-title">SetX</span>(<span class="hljs-params"><span class="hljs-built_in">float</span> temp</span>)</span> {
    <span class="hljs-keyword">if</span> (temp &lt; <span class="hljs-number">0</span>) {
      <span class="hljs-keyword">return</span>;
    }
    x = temp;
  }
  <span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">void</span> <span class="hljs-title">SetY</span>(<span class="hljs-params"><span class="hljs-built_in">float</span> temp</span>)</span> {
    <span class="hljs-keyword">if</span> (temp &lt; <span class="hljs-number">0</span>) <span class="hljs-keyword">return</span>;
    y = temp;
  }
  <span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">void</span> <span class="hljs-title">SetZ</span>(<span class="hljs-params"><span class="hljs-built_in">float</span> temp</span>)</span> {
    <span class="hljs-keyword">if</span> (temp &lt; <span class="hljs-number">0</span>) <span class="hljs-keyword">return</span>;
    z = temp;
  }
  <span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-built_in">double</span> <span class="hljs-title">Length</span>()</span> {
    <span class="hljs-keyword">return</span> Math.Sqrt(x * x + y * y + z * z);
  }
}
</code></pre>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-comment">//使用   Program.cs </span>
Vector3 v1 = <span class="hljs-keyword">new</span> Vector3();

v1.SetX(<span class="hljs-number">-3</span>);
v1.SetY(<span class="hljs-number">4.5</span> f);
v1.SetZ(<span class="hljs-number">6.7</span> f);

Console.WriteLine(v1.getX());
Console.WriteLine(v1.Length());
</code></pre>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/自我提升">自我提升</category>
        </item>
        <item>
            <title><![CDATA[⾯向对象编程]]></title>
            <link>http://blog.wilsonzy.cn/post/59</link>
            <guid>http://blog.wilsonzy.cn/post/59</guid>
            <pubDate>Fri, 30 May 2025 09:35:22 GMT</pubDate>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <!-- more -->
<h2>什么是⾯向对象编程？</h2>
<p>为什么使⽤⾯向对象编程？</p>
<p>为了让编程更加清晰<strong>把程序中的功能进⾏模块化划分，每个模块提供特定的功能，⽽且每个模块都是孤⽴</strong>的，这种模块化编程提供了⾮常⼤的多样性，⼤⼤增加了重⽤代码的机会。<br>
⾯向对象编程也叫做OOP编程<br>
简单来说<strong>⾯向对象编程就是结构化编程，对程序中的变量结构划分，让编程更清晰</strong>。</p>
<p>注意：不要从字⾯意思理解⾯向对象编程<br>
我们把<strong>类创建的变量叫做对象</strong>，那么如何创建类呢？</p>
<p>类是什么东⻄？</p>
<p><strong>类实际上是创建对象的模板</strong>，每个对象都包含数据，并提供了处理和访问数据的⽅法。<br>
类定义了类的每个对象（称为实例）可以包含什么数据和功能。</p>
<h2>类的定义</h2>
<p><strong>类中的数据和函数称为类的成员</strong></p>
<ul>
<li>数据成员</li>
<li>函数成员</li>
</ul>
<p>数据成员：<br>
<strong>数据成员是包含类的数据--字段，常量和事件的成员</strong>。<br>
函数成员：<br>
<strong>函数成员提供了操作类中数据的某些功能</strong>。（⽅法，属性，构造⽅法和终结器（析构⽅法），运算符，和索引器）</p>
<h2>类的字段和⽅法</h2>
<p><strong>字段的声明</strong><br>
访问修饰符 类型 字段名称;</p>
<p><strong>⽅法的声明</strong><br>
访问修饰符 返回值类型 ⽅法名称(参数){<br>
//⽅法体<br>
}</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-comment">// 定义⼀个类来表⽰⼀个顾客  </span>
<span class="hljs-keyword">class</span> <span class="hljs-title">Customer</span> {
  <span class="hljs-keyword">public</span> <span class="hljs-built_in">string</span> name;
  <span class="hljs-keyword">public</span> <span class="hljs-built_in">string</span> address;
  <span class="hljs-keyword">public</span> <span class="hljs-built_in">int</span> age;
  <span class="hljs-keyword">public</span> <span class="hljs-built_in">string</span> buyTime;
  <span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Show</span>()</span> {
    Console.WriteLine(<span class="hljs-string">&quot;名字:&quot;</span> + name);
    Console.WriteLine(<span class="hljs-string">&quot;年龄:&quot;</span> + age);
    Console.WriteLine(<span class="hljs-string">&quot;地址:&quot;</span> + address);
    Console.WriteLine(<span class="hljs-string">&quot;购买时间:&quot;</span> + buyTime);
  }
}
</code></pre>
<p>在这⾥我们定义了⼀个类，叫做Customer（顾客），⾥⾯包含了四个字段，存储了顾客的名字，年龄，地址和购买时间，包含了⼀个<strong>Show（）⽅法，⽤来输出⾃⾝的⼀些信息</strong>的，在这⾥Customer就是⼀个新的数据类型</p>
<p>类似于<strong>结构体的定义</strong></p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-keyword">struct</span> Customer......;  
</code></pre>
<p>如何利⽤类创建对象<br>
使⽤我们<strong>⾃定义的类声明的变量也叫做对象</strong>，这个过程也叫做<strong>实例化</strong></p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code>ClassName myClass = <span class="hljs-keyword">new</span> ClassName();  
</code></pre>
<p>其中ClassName是我们定义的类的名字，myClass是我们声明的变量（对象）的名字，后⾯的<strong>new</strong>是⼀个关键字，<strong>使⽤new 加上类型名（）表⽰对该对象进⾏构造</strong>，如果不进⾏构造的话，这个对象是⽆法使⽤的。</p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/自我提升">自我提升</category>
        </item>
        <item>
            <title><![CDATA[错误处理(异常处理)]]></title>
            <link>http://blog.wilsonzy.cn/post/58</link>
            <guid>http://blog.wilsonzy.cn/post/58</guid>
            <pubDate>Fri, 30 May 2025 09:36:47 GMT</pubDate>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <!-- more -->
<p>我们上⾯讨论了再开发过程中如何查找和修正错误，使这些错误不会再发布的代码中出<br>
现，但有时，我们知道可能会有错误发⽣，但不能100%的肯定他们不会发⽣，此时最好<br>
能预料到错误的发⽣，编写⾜够健壮的代码以处理这些错误，⽽不必中断程序的执⾏。</p>
<p><strong>错误处理</strong>就是⽤于这个⽬的。下⾯学习异常和处理他们的⽅式。</p>
<h2>异常：</h2>
<p>异常是在<strong>运⾏期间代码中产⽣的错误</strong>。</p>
<p>⽰例：</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code> <span class="hljs-built_in">int</span>[] myArray = {<span class="hljs-number">1</span>,<span class="hljs-number">2</span>,<span class="hljs-number">3</span>,<span class="hljs-number">4</span>};  
 <span class="hljs-built_in">int</span> myEle = myArray[<span class="hljs-number">4</span>];<span class="hljs-comment">//数组下标越界   </span>
</code></pre>
<p>运⾏到这⾥的时候，会出现异常，这个异常的定义已经在CLR中定义好了。<br>
<strong>如果我们不去处理这个异常，那么当异常发⽣的时候，程序会终⽌掉，然后异常后⾯的代码都⽆法执⾏。</strong></p>
<h2>异常处理(捕捉异常)</h2>
<p><strong>try ... catch ... finally 语句</strong><br>
我们处理异常的语法结构如下(包含了三个关键字 try catch finally)</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-keyword">try</span>{
...
}
<span class="hljs-keyword">catch</span>( &lt;exceptionType&gt; e ){
...
}
<span class="hljs-keyword">finally</span>{
}  
    
</code></pre>
<p>其中catch块可以有0或者多个，finally可以有0或者1个<br>
但是如果没有catch块，必须有finally块，没有finally块，必须有catch块，catch块和finally<br>
块可以同时存在</p>
<p><strong>每个代码块的⽤法</strong></p>
<ul>
<li><strong>try</strong>块包含了<strong>可能出现异常的代码</strong>(⼀条或者多条语句)</li>
<li><strong>catch</strong>块⽤来<strong>捕捉异常</strong>，当代码发⽣异常，那么异常的类型和catch块中的类型⼀样的时</li>
<li>候，就会执⾏该catch块，如果catch块的参数不写，表⽰发⽣任何异常都执⾏这个catch块</li>
<li><strong>finally</strong>块包含了<strong>始终会执⾏的代码</strong>，不管有没有异常产⽣都会执⾏</li>
</ul>
<p><strong>编程题：</strong></p>
<p>1、处理刚刚的下标越界异常。</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-built_in">int</span>[] myArr = { <span class="hljs-number">1</span>,<span class="hljs-number">2</span>,<span class="hljs-number">3</span>,<span class="hljs-number">4</span>};

<span class="hljs-keyword">try</span> {
  <span class="hljs-built_in">int</span> temp = myArr[<span class="hljs-number">4</span>];
} <span class="hljs-keyword">catch</span> {
  <span class="hljs-comment">//出现这个异常的时候，怎么处理</span>
  Console.WriteLine(<span class="hljs-string">&quot;出现了数组下标越界的异常&quot;</span>);
} <span class="hljs-keyword">finally</span> {
  Console.WriteLine(<span class="hljs-string">&quot;不管是否出现异常，都会执行&quot;</span>);
}

Console.Write(<span class="hljs-string">&quot;23&quot;</span>);
</code></pre>
<p>2、让⽤户输⼊两个数字，⽤户可能会出⼊⾮数字类型，处理该异常，如果出现该异常就<br>
让⽤户重新输⼊，输出这两个数字的和</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code>Console.WriteLine(<span class="hljs-string">&quot;请输入两个数字，每行一个&quot;</span>);
<span class="hljs-built_in">int</span> n1 = <span class="hljs-number">0</span>, n2 = <span class="hljs-number">0</span>;
<span class="hljs-keyword">while</span> (<span class="hljs-literal">true</span>) {

  <span class="hljs-keyword">try</span> {
    n1 = Convert.ToInt32(Console.ReadLine());
    n2 = Convert.ToInt32(Console.ReadLine());
    <span class="hljs-keyword">break</span>;
  } <span class="hljs-keyword">catch</span> (FormatException e) {
    Console.WriteLine(<span class="hljs-string">&quot;你输入的数据，不符合规则,请重新输入&quot;</span>);
  }
}
Console.WriteLine(n1 + n2);  
</code></pre>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/自我提升">自我提升</category>
        </item>
        <item>
            <title><![CDATA[程序调试]]></title>
            <link>http://blog.wilsonzy.cn/post/57</link>
            <guid>http://blog.wilsonzy.cn/post/57</guid>
            <pubDate>Tue, 06 Aug 2024 13:18:50 GMT</pubDate>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <!-- more -->
<h2>错误（Bug）：</h2>
<p>代码中难免存在错误，不论程序员多么优秀，程序总会出现问题，有些问题，⽐如<strong>变量名<br>
字写错，导致编译器⽆法编译（语法错误）</strong>，有的时候我们的<strong>逻辑在某些⽅⾯有瑕疵</strong>，也会产⽣错误，这类错误成为<strong>语义错误（逻辑错误）</strong>。<br>
我们接下来学习如何在程序出错之后，使⽤VS提供给我们的调试功能，<strong>找到错误的原<br>
因，修改代码。(调试)</strong><br>
以及学习c#中的错误处理技术，<strong>对可能发⽣错误的地⽅采取预防措施，并编写弹性代码<br>
来处理可能会发⽣的致命错误。(错误处理)</strong></p>
<h2>正常模式下的调试：</h2>
<p>正常模式指的是不会影响程序的正常运⾏。</p>
<ul>
<li>在VS中我们使⽤Console.Write(或者WriteLine)⽅法<strong>向控制台输出变量的值</strong>，通过这个我们可以查看变量的值是否符合我们的预期来调试错误。</li>
<li>在Unity中我们使⽤Debug.Log(&quot;&quot;) Debug.LogError(&quot;&quot;) Debug.LogWarn(&quot;&quot;)，向unity的  Console窗⼝输出信息，帮助我们调试错误。</li>
</ul>
<h2>中断（Debug）模式下的调试：</h2>
<p>中断模式指我们可以暂停程序的执⾏，然后查看程序中的状态，也可以让程序继续执⾏。<br>
:::info{title=&quot;相关信息&quot;}<br>
如何让程序中断？<br>
:::</p>
<h2>断点</h2>
<p>断点是什么？<br>
<strong>断点是源代码中⾃动进⼊中断模式的⼀个标记</strong>，当遇到断点的时候，程序会进⼊中断模式。<br>
:::info{title=&quot;如何插⼊断点？ &quot;}</p>
<ul>
<li>右击代码⾏，选择breakpoint(断点) -&gt; insert breakpoint（插⼊断点）</li>
<li>光标定位到代码⾏，选择菜单上的Debug(调试)-&gt;Toggle Breakpoint(切换断点)</li>
<li>光标定位到代码⾏，按下F9键，在此按下F9是取消断点</li>
<li>在需要添加断点的⾏⾸位置，直接单击，再次单击取消断点<br>
:::</li>
</ul>
<p><strong>窗⼝ Breakpoints</strong><br>
我们可以通过 (调试-窗⼝-断点)，打开断点窗⼝，这个窗⼝显⽰了当前项⽬中添加了的所有的断点，我们可以在这⾥定位断点的位置，也可以去删除断点。</p>
<h2>监视变量的内容</h2>
<p>在中断模式下查看变量值最简单的⽅式，就是把⿏标指向源代码中的变量名，此时会出现<br>
⼀个⼯具提⽰，显⽰该变量的信息。</p>
<p>中断模式下的窗⼝（左下⾓），有三个选项卡</p>
<ul>
<li>错误列表 -程序运⾏中发⽣的所有错误的列表</li>
<li>局部变量 -当前运⾏环境中所有的局部变量的值</li>
<li>监视 -监视某个变量的值的变化<br>
在上⾯的⼏个窗⼝中不但可以观察变量值的变化，还可以直接去修改变量中存储的值</li>
</ul>
<p>调⽤堆栈和即时窗⼝：<br>
在中断模式下，可以在右下⾓看到调⽤堆栈和即时窗⼝</p>
<p>在调⽤堆栈窗⼝下我们可以观察到当前代码执⾏到哪⼀⾏了，并且可以看到这个代码的是<br>
被什么语句调⽤的<br>
即时窗⼝我们可以在这⾥输⼊⼀些命令，查看变量的值，修改变量的值，可以输⼊表达式<br>
查看结果</p>
<h2>单步执行代码：</h2>
<p>在中断模式下我们可以单步执⾏代码，单步执⾏带有有两种 逐过程和逐语句，他们两个<br>
都是⼀条语句⼀跳语句的执⾏，<strong>区别在于逐过程遇到函数，不会进⼊函数内部</strong>，⽽把函数<br>
当成⼀条语句去执⾏。</p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/自我提升">自我提升</category>
        </item>
        <item>
            <title><![CDATA[在PPT中添加人物说话]]></title>
            <link>http://blog.wilsonzy.cn/post/56</link>
            <guid>http://blog.wilsonzy.cn/post/56</guid>
            <pubDate>Wed, 10 Jul 2024 13:52:55 GMT</pubDate>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <!-- more -->
<p><img src="/static/img/5ce856daf10d2955912edb35c166664b.image.png" alt="image.png"></p>
<p><img src="/static/img/222df31c77b22959516623e4359339ff.image.png" alt="image.png"></p>
<h2>制作教程</h2>
<p><img src="/static/img/3fe3bcb62176f9d7f2ab682eb4be29a4.image.png" alt="image.png"></p>
<blockquote>
<p>插入人物素材</p>
</blockquote>
<p><img src="/static/img/65f5e62f07869479d18213b4d9f00115.image.png" alt="image.png"></p>
<blockquote>
<p>用线条曲线大致画出一个嘴巴的形状<br>
右键编辑线条顶点</p>
</blockquote>
<p><img src="/static/img/072eaaada01429c1c0a4425ee33b9be0.image.png" alt="image.png"></p>
<blockquote>
<p>调整填充色为肉色</p>
</blockquote>
<p><img src="/static/img/30698966b8c2b4e6d190562422178aad.image.png" alt="image.png"></p>
<blockquote>
<p>调整线条颜色为黑色   宽度为3榜</p>
</blockquote>
<p><img src="/static/img/575b9172c7a21f9f5518a69c7df0c4ce.image.png" alt="image.png"></p>
<blockquote>
<p>插入文本框  依次输入文本内容</p>
</blockquote>
<p><img src="/static/img/a9544a4823acef24dc75b6ab6d700e07.image.png" alt="image.png"></p>
<blockquote>
<p>给标题文字添加一个弹跳的动画</p>
</blockquote>
<p><img src="/static/img/5fa7e3794d13f1df32a6b54686822b34.image.png" alt="image.png"><br>
<img src="/static/img/0424df0833a8283e80ea8bb8924a0fcf.image.png" alt="image.png"></p>
<blockquote>
<p>给下一段文字添加出场动画</p>
</blockquote>
<p><img src="/static/img/06360d88826731436d0477260832f77c.image.png" alt="image.png"></p>
<blockquote>
<p>动画触发  <strong>与上一动画同时</strong></p>
</blockquote>
<p><img src="/static/img/073180fbc3fe158999040c1efec75248.image.png" alt="image.png"></p>
<blockquote>
<p>右键设置文本框，选择效果选项</p>
</blockquote>
<p><img src="/static/img/8a27fa3b91da8151263cb9b065c0179c.image.png" alt="image.png"></p>
<blockquote>
<p>动画<strong>按字母顺序</strong>出场  延迟秒数0.2秒</p>
</blockquote>
<p><img src="/static/img/8c95d431ffd3582b00264b5fa8a9dc75.image.png" alt="image.png"></p>
<blockquote>
<p>选中嘴巴</p>
</blockquote>
<p><img src="/static/img/9091bf30a0c40444197dbc27904b63c4.image.png" alt="image.png"></p>
<blockquote>
<p>给嘴巴设置一个淡化的动画效果</p>
</blockquote>
<p><img src="/static/img/cadc16b6baafb29d68672bae274bd69a.image.png" alt="image.png"><br>
<img src="/static/img/bd54702724270b393d43be836cd0e669.image.png" alt="image.png"></p>
<blockquote>
<p>在添加一个闪烁的动画效果</p>
</blockquote>
<p><img src="/static/img/06360d88826731436d0477260832f77c.image.png" alt="image.png"></p>
<blockquote>
<p>两个动画  均为<strong>与上一动画同时</strong></p>
</blockquote>
<p><img src="/static/img/c21283e25a8a57ca5e88ef907f4f3f7a.image.png" alt="image.png"></p>
<blockquote>
<p>打开动画<strong>效果选项</strong></p>
</blockquote>
<p><img src="/static/img/8af50ad1ff642597247dc76b1c9898b7.image.png" alt="image.png"></p>
<blockquote>
<p>期间  设为<strong>非常快</strong><br>
重复  设为<strong>直到幻灯片末尾</strong></p>
</blockquote>
<p>再添加一个淡化的动画</p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/自我提升">自我提升</category>
        </item>
        <item>
            <title><![CDATA[群晖搭建个人理财记账工具]]></title>
            <link>http://blog.wilsonzy.cn/post/55</link>
            <guid>http://blog.wilsonzy.cn/post/55</guid>
            <pubDate>Wed, 25 Jun 2025 13:15:54 GMT</pubDate>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <!-- more -->
<h2>Firefly III 介绍</h2>
<p>Firefly III 是开源免费、无广告的个人财务的（自托管）它可以帮助您跟踪您的支出和收入，统计少花钱多存钱。Firefly III 支持使用预算、类别和标签。使用一堆外部工具，支持可以导入数据。它还提供许多简洁的财务报告。</p>
<p>演示地址:https://demo.firefly-iii.org/login</p>
<p><img src="/static/img/982c6c75d3255211cdf7cb2d4295cb5f.image.png" alt="image.png"></p>
<p>Firefly III 有多种运行方式</p>
<p>可以将它安装在您的服务器上。<br>
可以使用 Docker 运行它。<br>
可以使用 Softaculous 安装它。<br>
可以使用 AMPPS 安装它。<br>
可以将它安装在 Cloudron 上。<br>
可以将它安装在 Lando 上。<br>
可以将它安装在 Yunohost 上</p>
<p>github:https://github.com/firefly-iii/firefly-iii/</p>
<p><img src="/static/img/65de298faed7c6e70590957cde1bd5e4.image.png" alt="image.png"></p>
<h3>环境准备</h3>
<ul>
<li>Docker 安装</li>
<li>MariaDB 安装</li>
</ul>
<p>首先打开<strong>套件中心</strong><br>
<img src="/static/img/91c8c56a7d252ab18ba2b6d2e792816d.image.png" alt="image.png"><br>
选择安装位置</p>
<p><img src="/static/img/aadecada3692f2ef57f986419593502c.image.png" alt="image.png"><br>
设置密码</p>
<p><img src="/static/img/fa907f75df33e6d1df3010be1ac3ffc0.image.png" alt="image.png"><br>
确认安装</p>
<p><img src="/static/img/5b110c52908bc42326537d233ab9c181.image.png" alt="image.png"><br>
服务正常<br>
勾选完成本地打开插件，勾选TCP/IP连接</p>
<p><img src="/static/img/7e6b968787ddd889609c0b4bdf45b1b9.image.png" alt="image.png"><br>
本地连接nas服务器 (可以使用xshell, crt等连接)<br>
如果没有开启，可以后台开启一下</p>
<p><img src="/static/img/d64ce8de65738ae72b0e31905671548d.image.png" alt="image.png"><br>
创建用户名以及数据库</p>
<pre><code>CREATE DATABASE firefly ;   #firefly为库名
CREATE USER 'firefly'@'%' IDENTIFIED BY 'aCna2D@1CZ';  #授权firefly密码为aCna2D@1CZ
grant all privileges on firefly.* to 'firefly'@'%' identified by &quot;aCna2D@1CZ&quot;;  #授权firefly库
</code></pre>
<p>目前我们的MariaDB连接信息如下</p>
<ul>
<li>用户名: root</li>
<li>密码: 后台自己设置的</li>
<li>端口: 3306</li>
<li>地址: nas_ip<br>
安装完成后，我们就可以下载Firefly III镜像</li>
</ul>
<h2>Docker安装Firefly III</h2>
<p>搜索镜像<strong>firefly</strong></p>
<ul>
<li>fireflyiii/core:beta. 此标签包含 beta 版本。</li>
<li>fireflyiii/core:alpha. 此标签包含 alpha 版本。</li>
<li>fireflyiii/core:develop. 始终是最新的开发图像。可能不稳定。</li>
</ul>
<p><img src="/static/img/b544a1e4e443e2e4eef7566929caa459.image.png" alt="image.png"><br>
选择镜像启动</p>
<p><img src="/static/img/b87d12805e3bc5e671210e8224e8506a.image.png" alt="image.png"><br>
此处默认</p>
<p><img src="/static/img/97904297794f52d6b40d37c484187a04.image.png" alt="image.png"><br>
<img src="/static/img/171428c148e262d653439807f5b67475.image.png" alt="image.png"></p>
<p>手动指定一个端口号<br>
<img src="/static/img/79d06db4389497c870dea996a09b8465.image.png" alt="image.png"></p>
<p>映射持久化目录<br>
<img src="/static/img/d76421a0339434edb67b03bdd43a35c8.image.png" alt="image.png"></p>
<p>创建持久化目录<br>
<img src="/static/img/5420b5ce12a21e56e097e4fcbb56840a.image.png" alt="image.png"></p>
<p>配置<br>
<img src="/static/img/70b090a0f03e08766fc8db07190b313a.image.png" alt="image.png"></p>
<table>
<thead>
<tr>
<th>文件夹</th>
<th>装载路径</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>docker/firefly/export</td>
<td>/var/www/html/storage/export</td>
<td>存放导出文件</td>
</tr>
<tr>
<td>docker/firefly/upload</td>
<td>/var/www/html/storage/upload</td>
<td>存放上传文件</td>
</tr>
</tbody>
</table>
<p>点击完成后，我们不要启动容器。<br>
这时候编辑一下环境变量</p>
<p><img src="/static/img/f7bae1cb5afc0767abd126858a961356.image.png" alt="image.png"></p>
<p>环境变量如下</p>
<table>
<thead>
<tr>
<th>变量名</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>APP_KEY</td>
<td>必须是 32 位</td>
</tr>
<tr>
<td>DB_HOST</td>
<td>数据库地址</td>
</tr>
<tr>
<td>DB_PORT</td>
<td>数据库端口</td>
</tr>
<tr>
<td>DB_CONNECTION</td>
<td>数据库类型</td>
</tr>
<tr>
<td>DB_DATABASE</td>
<td>数据库库名</td>
</tr>
<tr>
<td>DB_USERNAME</td>
<td>数据库用户</td>
</tr>
<tr>
<td>DB_PASSWORD</td>
<td>数据库密码</td>
</tr>
<tr>
<td>按照对应的修改即可，APP_KEY为随机32位，可以随机生成</td>
<td></td>
</tr>
</tbody>
</table>
<p>:::info{title=&quot;相关信息&quot;}<br>
可以直接复制我的 AgXj2E9M0PGhRqhzoMtycqDRkNwIRHjO<br>
:::</p>
<p><img src="/static/img/2e07a2f8c59aed90685591c4707e5dda.image.png" alt="image.png"></p>
<p>启动后等待一会就可以访问系统了<br>
<img src="/static/img/2b47debdff36e8ddff7f3efad1337845.image.png" alt="image.png"></p>
<p>我们需要给自己注册一个管理员用户</p>
<p>:::tip{title=&quot;提示&quot;}<br>
密码需要16位<br>
:::<br>
设置货币以及中文</p>
<p><img src="/static/img/721114cd53845208af4cb6651451aac1.image.png" alt="image.png"></p>
<p>此时已经配置完成</p>
<p><img src="/static/img/7dc4a3307201faff1d2ad5b766894e55.image.png" alt="image.png"></p>
<p>:::info{title=&quot;相关信息&quot;}<br>
特别感谢 FRPS（原文作者）的文章，原文链接：https://frps.cn/261.html<br>
如涉及侵权，请联系删除<br>
:::</p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/创意灵感">创意灵感</category>
        </item>
        <item>
            <title><![CDATA[PPT动画结尾]]></title>
            <link>http://blog.wilsonzy.cn/post/54</link>
            <guid>http://blog.wilsonzy.cn/post/54</guid>
            <pubDate>Mon, 08 Jul 2024 12:47:40 GMT</pubDate>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <!-- more --> 
<p><img src="/static/img/4463af292b749dcfda7873b9613c06e9.image.png" alt="image.png"></p>
<p><img src="/static/img/f6db99e1171cdcb7c38ce45105a75f78.image.png" alt="image.png"></p>
<h1>制作教程</h1>
<p><img src="/static/img/38df5c8720228bfcb5f837bf884596e2.image.png" alt="image.png"></p>
<blockquote>
<p>插入一个全屏矩形</p>
</blockquote>
<p><img src="/static/img/d683e4ac566c32d62566bcae1303f736.image.png" alt="image.png"></p>
<blockquote>
<ul>
<li>设置形状格式   去掉线条 ( 无线条 )</li>
<li>填充  纯色填充  黑色  透明度50</li>
</ul>
</blockquote>
<p><img src="/static/img/c83b1e505a8f1f443c97a0901ae88361.image.png" alt="image.png"></p>
<blockquote>
<p>给矩形添加一个  <strong>淡化</strong> 的动画效果</p>
</blockquote>
<p><img src="/static/img/a6ffe4c8e6460be90d03ee141d57e474.image.png" alt="image.png"></p>
<blockquote>
<p>绘制一个圆环  放在页面居中位置</p>
</blockquote>
<p><img src="/static/img/8d835dd4284d0b6f8ffb7457991a90cc.image.png" alt="image.png"></p>
<blockquote>
<p>拖动黄色的控点调节圆环宽度</p>
</blockquote>
<p><img src="/static/img/a72ab4c86e2406d2d45ce063e1add462.image.png" alt="image.png"></p>
<blockquote>
<ul>
<li>设置形状格式   去掉圆环的线条 ( 无线条 )</li>
<li>填充   渐变填充 角度90</li>
<li>渐变光圈  保留两个光圈  蓝色和绿色  将两个光圈往中间移动</li>
</ul>
</blockquote>
<p><img src="/static/img/51b7e4e2485ac1f76be2e295ccace386.image.png" alt="image.png"></p>
<blockquote>
<p>给光圈添加一个  <strong>陀螺旋</strong>  动画效果</p>
</blockquote>
<p><img src="/static/img/b37fde4b75aed75a4e44eaf1bf38462b.image.png" alt="image.png"></p>
<blockquote>
<ul>
<li>插入一个文本框</li>
<li>输入文字Thanks  粗体  字号 72</li>
</ul>
</blockquote>
<p><img src="/static/img/6f529497ab3ad2e706301ac4c8574bdf.image.png" alt="image.png"></p>
<blockquote>
<p>将文字放在圆环中间居中对齐</p>
</blockquote>
<p><img src="/static/img/2c32c52820b0aefd46be94d6c67d5fe0.image.png" alt="image.png"></p>
<blockquote>
<p>再给文字添加一个  <strong>淡化</strong>  动画效果</p>
</blockquote>
<p><img src="/static/img/ac019e6e26797a9a85db9ef4559bd362.image.png" alt="image.png"></p>
<blockquote>
<p>插入一张图片   图片置于底层</p>
</blockquote>
<p><img src="/static/img/e588b7b0b3051de04cec876e46bc2713.image.png" alt="image.png"></p>
<blockquote>
<p>把图片放的超大</p>
</blockquote>
<p><img src="/static/img/a249c3fd8a2e964001ca534ec0411c91.image.png" alt="image.png"></p>
<blockquote>
<p>给图片添加一个  <strong>放大缩小</strong>  动画效果</p>
</blockquote>
<p><img src="/static/img/70965f35c26e0e8535a720cafb82eea0.image.png" alt="image.png"></p>
<blockquote>
<p>效果选项  较小</p>
</blockquote>
<blockquote>
<p>点选动画窗格</p>
</blockquote>
<p><img src="/static/img/9dec97dba3fc8f0cb5a34c09642a9cea.image.png" alt="image.png"></p>
<blockquote>
<p>所有动画开始都改为  <strong>与上一动画同时</strong></p>
</blockquote>
<p><img src="/static/img/1c241b75a01e5eea90410ab54a70b1a0.image.png" alt="image.png"></p>
<blockquote>
<p>矩形  <strong>持续时间</strong>  改为2秒</p>
</blockquote>
<p><img src="/static/img/605f8dd02c31388bc2c239d35c24b51a.image.png" alt="image.png"></p>
<blockquote>
<p>文本  <strong>动画延迟</strong>  2秒</p>
</blockquote>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/自我提升">自我提升</category>
        </item>
        <item>
            <title><![CDATA[动态时间轴]]></title>
            <link>http://blog.wilsonzy.cn/post/53</link>
            <guid>http://blog.wilsonzy.cn/post/53</guid>
            <pubDate>Sun, 07 Jul 2024 13:20:43 GMT</pubDate>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <!-- more -->  
<p><img src="/static/img/d40d7db3e1e62dcd23c7027292c5ea20.image.png" alt="image.png"><br>
<img src="/static/img/9e9689671447f5bb08083a93abc2e02d.image.png" alt="image.png"></p>
<h2><strong>制作教程</strong></h2>
<p><img src="/static/img/3c93006da0038372ca2fad0c58f770aa.image.png" alt="image.png"><br>
:::note{title=&quot;绘制一个全屏矩形&quot;}<br>
:::</p>
<p><img src="/static/img/7c9cb003e7e7cdffcf6520c8b9793b95.image.png" alt="image.png"><br>
:::note{title=&quot;在下方绘制一个大椭圆 &quot;}<br>
:::</p>
<p><img src="/static/img/2822cd085c978779bbd597ab925aa5fd.image.png" alt="image.png"><br>
:::note{title=&quot;先选中矩形，再选中椭圆，  点击合并形状  剪除 &quot;}<br>
:::</p>
<p><img src="/static/img/1169b5fa755c3166c24eb1d0ced42ed9.image.png" alt="image.png"><br>
:::note{title=&quot;形状复制一份， 放大并调整角度  &quot;}<br>
:::</p>
<p><img src="/static/img/4734efd9dfff4948d71d944d4c360325.image.png" alt="image.png"><br>
:::note{title=&quot;选中下方形状，再选中上方形状 &quot;}<br>
:::</p>
<p><img src="/static/img/2822cd085c978779bbd597ab925aa5fd.image.png" alt="image.png"><br>
:::note{title=&quot;点击合并形状  剪除&quot;}<br>
:::</p>
<p><img src="/static/img/2765832b86f34dc82bd1d49e442315ec.image.png" alt="image.png"><br>
:::note{title=&quot;得到需要的图片形状背景&quot;}<br>
:::</p>
<p><img src="/static/img/0b72e653dad42e464a76d1dc90afc961.image.png" alt="image.png"><br>
:::note{title=&quot;插入一张图片，把图片铺满画布  并置于底层&quot;}<br>
:::</p>
<p><img src="/static/img/cc808018f11aa3e8b725f4f686ffeaab.image.png" alt="image.png"><br>
:::note{title=&quot;先选中图片， 再选中形状， 合并形状   相交 &quot;}<br>
:::</p>
<p><img src="/static/img/033b463f5582b7205296a4954defcc5d.image.png" alt="image.png"><br>
:::note{title=&quot;把图片复制一份出来&quot;}<br>
:::</p>
<p><img src="/static/img/44ae7a7553c027bbdbc890841116d3d3.image.png" alt="image.png"><br>
:::note{title=&quot;原图片去掉饱和度 &quot;}<br>
:::</p>
<p><img src="/static/img/af4661f9a6379b1daca0384a5b12c256.image.png" alt="image.png"><br>
:::note{title=&quot;再将两张图片重叠在一起 &quot;}<br>
:::</p>
<p><img src="/static/img/948049cb6efd2d8982d93188538663eb.image.png" alt="image.png"><br>
:::note{title=&quot;放上准备好的文字，内容围绕图片摆放  &quot;}<br>
:::</p>
<p><img src="/static/img/faaf39d427b2741cb0652ca16e171e5d.image.png" alt="image.png"><br>
:::note{title=&quot;选中上方的图片   动画 添加一个擦除动画&quot;}<br>
:::</p>
<p><img src="/static/img/e2d1b21ceb1a4f0d5c425af4c87ddf48.image.png" alt="image.png"><br>
:::note{title=&quot;效果选项改为自左侧&quot;}<br>
:::</p>
<p><img src="/static/img/ef771be6de1bd25ac3c8f69e86a3d1f8.image.png" alt="image.png"><br>
:::note{title=&quot;开始改为与上一动画同时  持续时间5秒  &quot;}<br>
:::</p>
<p><img src="/static/img/bad0439e3f030e2242d74ffb530217c1.image.png" alt="image.png"><br>
:::note{title=&quot;再根据时间顺序选中内容 &quot;}<br>
:::</p>
<p><img src="/static/img/32c480e507379dcb60be783cf4dabbae.image.png" alt="image.png"><br>
:::note{title=&quot;动画  添加浮入动画    &quot;}<br>
:::</p>
<p><img src="/static/img/6799919385a72df619b0f637c92d49a0.image.png" alt="image.png"><br>
:::note{title=&quot;打开动画窗格   开始都改为与上一动画同时&quot;}<br>
:::</p>
<p><img src="/static/img/79344ba661f2f07b17b4efa047a09db4.image.png" alt="image.png"><br>
:::note{title=&quot;再依次把动画往后延迟0.5秒&quot;}<br>
:::</p>
<p><img src="/static/img/3df73e37b4ebd18f44e673abe7b1771f.image.png" alt="image.png"><br>
:::note{title=&quot;选中图片下方的内容&quot;}<br>
:::</p>
<p><img src="/static/img/f114d635010159fd096f3a01a7b980b1.image.png" alt="image.png"><br>
:::note{title=&quot;效果选项处把动画改为下幅&quot;}<br>
:::</p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/自我提升">自我提升</category>
        </item>
        <item>
            <title><![CDATA[委托]]></title>
            <link>http://blog.wilsonzy.cn/post/52</link>
            <guid>http://blog.wilsonzy.cn/post/52</guid>
            <pubDate>Fri, 30 May 2025 09:38:38 GMT</pubDate>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <!-- more -->
<p><strong>委托</strong>(delegate)是⼀种存<strong>储函数引⽤的类型</strong>。</p>
<p>委托的定义指定了⼀个返回类型和⼀个参数列表<br>
定义了委托之后，就可以声明该委托类型的变量，接着就可以把⼀个返回类型跟参数列表跟委托⼀样的函数赋值给这个变量。</p>
<p><strong>委托的使⽤</strong>分两步</p>
<ul>
<li>定义</li>
<li>声明（变量）</li>
</ul>
<p>结构体，枚举的使⽤同上都分为定义和声明<br>
整数类型、数组类型、字符串类型都是直接声明变量的，因为类型的定义已经完成了（CLR中已经完成定义）<br>
委托呢，就是<strong>⼀个函数类型，可以把⼀个函数赋值给委托类型</strong>。<br>
定义委托的时候，跟函数有点像，只不过没有函数体。<br>
只能赋值-参数和返回值⼀样的函数。</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-function"><span class="hljs-built_in">delegate</span> <span class="hljs-built_in">double</span> <span class="hljs-title">MyDelegate</span>(<span class="hljs-params"><span class="hljs-built_in">double</span> param1,<span class="hljs-built_in">double</span> param2</span>)</span>;  <span class="hljs-comment">// delegate  定义委托</span>
<span class="hljs-function"><span class="hljs-keyword">static</span> <span class="hljs-built_in">double</span> <span class="hljs-title">Multiply</span>(<span class="hljs-params"><span class="hljs-built_in">double</span> param1,<span class="hljs-built_in">double</span> param2</span>)</span>{
<span class="hljs-keyword">return</span> param1*param2;
}
<span class="hljs-function"><span class="hljs-keyword">static</span> <span class="hljs-built_in">double</span> <span class="hljs-title">Divide</span>(<span class="hljs-params"><span class="hljs-built_in">double</span> param1,<span class="hljs-built_in">double</span> param2</span>)</span>{
<span class="hljs-keyword">return</span> param1/param2;
}
<span class="hljs-built_in">double</span> param1 = <span class="hljs-number">34</span>; <span class="hljs-built_in">double</span> param2 =<span class="hljs-number">2</span>;
MyDelegate de;
de = Multiply; <span class="hljs-comment">//执行乘法</span>
de(param1,param2);
de = Divide;   <span class="hljs-comment">//执行除法</span>
de(param1,param2);
</code></pre>
<p>案例   有A和B开发人员    功能调用</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code> <span class="hljs-function"><span class="hljs-built_in">delegate</span> <span class="hljs-keyword">void</span> <span class="hljs-title">OnDieDelegate</span>()</span>;

 <span class="hljs-function"><span class="hljs-keyword">static</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Play</span>(<span class="hljs-params">OnDieDelegate onDie</span>)</span> {
   Console.WriteLine(<span class="hljs-string">&quot;做任务&quot;</span>);
   Console.WriteLine(<span class="hljs-string">&quot;玩家正在战斗&quot;</span>);
   Console.WriteLine(<span class="hljs-string">&quot;死亡&quot;</span>);
   <span class="hljs-comment">//</span>
   <span class="hljs-keyword">if</span> (onDie != <span class="hljs-literal">null</span>) {
     onDie();
   }
 }

 <span class="hljs-function"><span class="hljs-keyword">static</span> <span class="hljs-keyword">void</span> <span class="hljs-title">ShowDieUI</span>()</span> {
   Console.WriteLine(<span class="hljs-string">&quot;显示游戏死亡后的UI&quot;</span>);
   Console.WriteLine(<span class="hljs-string">&quot;返回首页UI&quot;</span>);
 }

 <span class="hljs-function"><span class="hljs-keyword">static</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Main</span>(<span class="hljs-params"><span class="hljs-built_in">string</span>[] args</span>)</span> {
   <span class="hljs-comment">// A主角</span>
   <span class="hljs-comment">// BUI 菜单</span>
   Play(<span class="hljs-literal">null</span>);
 }
</code></pre>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/自我提升">自我提升</category>
        </item>
        <item>
            <title><![CDATA[结构体]]></title>
            <link>http://blog.wilsonzy.cn/post/51</link>
            <guid>http://blog.wilsonzy.cn/post/51</guid>
            <pubDate>Fri, 30 May 2025 09:39:49 GMT</pubDate>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <!-- more -->
<p>结构体</p>
<p>我们⽬前学习的变量，都是某⼀个单⼀的信息，⽐如</p>
<ul>
<li>age</li>
<li>name</li>
<li>grade</li>
<li>studyID</li>
</ul>
<p>:::note{title=&quot;对于⼀个学⽣信息的话，是包含了这些的，我们怎么对这些信息进⾏⼀个整合呢？  &quot;}<br>
答案：结构体<br>
:::</p>
<p><strong>结构体</strong>的作⽤就是把<strong>某⼀类的变量进⾏整合，组成⼀个新的数据类型</strong>，相当于⼀个新的信息。<br>
⽐如学⽣信息（包含了 年龄，姓名、年级、学号）</p>
<p>创建10个学生的数组</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code>StudentInfo[] students = <span class="hljs-keyword">new</span> StudentInfo[<span class="hljs-number">10</span>];
students[<span class="hljs-number">0</span>].age = <span class="hljs-number">30</span>;

Console.WriteLine(students[<span class="hljs-number">0</span>].age); <span class="hljs-comment">//给1号学生年龄赋值</span>

<span class="hljs-built_in">int</span>[] stuAge = <span class="hljs-keyword">new</span> <span class="hljs-built_in">int</span>[<span class="hljs-number">10</span>]; <span class="hljs-comment">//创建10个学生年龄的数组</span>
<span class="hljs-built_in">string</span>[] stuName = <span class="hljs-keyword">new</span> <span class="hljs-built_in">string</span>[<span class="hljs-number">10</span>]; <span class="hljs-comment">//创建10个学生名字的数组</span>
</code></pre>
<p>怎么定义和使⽤结构体？</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-keyword">struct</span> &lt;name&gt;{
访问权限 type typename;
访问权限 type typename;
}
</code></pre>
<p>❓学⽣信息的结构体</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-keyword">struct</span> StudentInfo{
<span class="hljs-keyword">public</span> <span class="hljs-built_in">int</span> age;  <span class="hljs-comment">// public 权限 公开的</span>
<span class="hljs-keyword">public</span> String name;
<span class="hljs-keyword">public</span> <span class="hljs-built_in">int</span> grade;
<span class="hljs-keyword">public</span> String studyID;
}
StudentInfo xiaoming;
xiaoming.age = <span class="hljs-number">12</span>;
xiaoming.name = <span class="hljs-string">&quot;⼩明&quot;</span>;
xiaoming.grade = <span class="hljs-number">2</span>;
xiaoming.studyID = <span class="hljs-string">&quot;101214&quot;</span>;
</code></pre>
<p>❓定义⼀个表⽰三维坐标的结构体</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-keyword">struct</span> Position{
<span class="hljs-keyword">public</span> <span class="hljs-built_in">double</span> x;
<span class="hljs-keyword">public</span> <span class="hljs-built_in">double</span> y;
<span class="hljs-keyword">public</span> <span class="hljs-built_in">double</span> z;
}
Position point1;
point1.x = point.y = <span class="hljs-number">23.5</span>；
point1.z = <span class="hljs-number">1.5</span>；
</code></pre>
<p>结构体中的函数</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-keyword">struct</span> Position {
  <span class="hljs-keyword">public</span> <span class="hljs-built_in">double</span> x;
  <span class="hljs-keyword">public</span> <span class="hljs-built_in">double</span> y;
  <span class="hljs-keyword">public</span> <span class="hljs-built_in">double</span> z;

  <span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">void</span> <span class="hljs-title">PrintPosition</span>()</span> {
    Console.WriteLine(x + <span class="hljs-string">&quot;,&quot;</span> + y + <span class="hljs-string">&quot;,&quot;</span> + z);
  }
}
<span class="hljs-function"><span class="hljs-keyword">static</span> <span class="hljs-keyword">void</span> <span class="hljs-title">PrintPosition</span>(<span class="hljs-params">Position p</span>)</span> {
  Console.WriteLine(p.x + <span class="hljs-string">&quot;,&quot;</span> + p.y + <span class="hljs-string">&quot;,&quot;</span> + p.z);
}

Position p1; <span class="hljs-comment">//调用</span>
p1.x = <span class="hljs-number">23.3</span>;
p1.y = <span class="hljs-number">3.4</span>;
p1.z = <span class="hljs-number">1</span>;
p1.PrintPosition();

Position p2; <span class="hljs-comment">//调用</span>
p2.x = <span class="hljs-number">1</span>;
p2.y = <span class="hljs-number">2</span>;
p2.z = <span class="hljs-number">3</span>;
p2.PrintPosition();
</code></pre>
<p>结构体中不但可以定义属性，也可以定义函数。</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-keyword">struct</span> CustomerName{
<span class="hljs-keyword">public</span> <span class="hljs-built_in">string</span> firstName;
<span class="hljs-keyword">public</span> <span class="hljs-built_in">string</span> lastName;
}
CustomerName myName;  

myName.firstName = <span class="hljs-string">&quot;siki&quot;</span>;
myName.lastName = <span class="hljs-string">&quot;Liang&quot;</span>;
Console.WriteLine(<span class="hljs-string">&quot;My name is &quot;</span>+myName.firstName+<span class="hljs-string">&quot; &quot;</span>+myName.lastName);  

<span class="hljs-comment">// 在结构体中定义函数，实现得到名字</span>
<span class="hljs-keyword">struct</span> CustomerName{
<span class="hljs-keyword">public</span> <span class="hljs-built_in">string</span> firstName;
<span class="hljs-keyword">public</span> <span class="hljs-built_in">string</span> lastName;
<span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-built_in">string</span> <span class="hljs-title">GetName</span>()</span>{
<span class="hljs-keyword">return</span> firstName+<span class="hljs-string">&quot; &quot;</span>+lastName;
}
Console.WriteLine(<span class="hljs-string">&quot;My name is &quot;</span>+ GetName);  
}
</code></pre>
<p>:::tip{title=&quot;提示&quot;}<br>
当我们在结构体中定义⼀个函数的时候，这个函数就可以通过结构体声明的变量来调⽤，<br>
这个函数可以带有参数，那么调⽤的时候必须传递参数，<br>
这个函数，可以使⽤结构体中的属性。<br>
:::<br>
❓结构函数训练：<br>
定义⼀个Vector3的类（这个类可以⽤来表⽰坐标，可以表⽰向量），在⾥⾯定义⼀个Distance⽅法，⽤来取得⼀个向量的⻓度的</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-keyword">struct</span> Vector3 {
  <span class="hljs-keyword">public</span> <span class="hljs-built_in">double</span> x;
  <span class="hljs-keyword">public</span> <span class="hljs-built_in">double</span> y;
  <span class="hljs-keyword">public</span> <span class="hljs-built_in">double</span> z;
  <span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-built_in">double</span> <span class="hljs-title">Distance</span>()</span> {
    <span class="hljs-built_in">double</span> temp = x * x + y * y + z * z;
    <span class="hljs-keyword">return</span> Math.Sqrt(temp);
  }
} <span class="hljs-comment">// 主函数入口</span>
<span class="hljs-function"><span class="hljs-keyword">static</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Main</span>(<span class="hljs-params"><span class="hljs-built_in">string</span>[] args</span>)</span> {
  Vector3 v1;
  v1.x = <span class="hljs-number">4</span>;
  v1.y = <span class="hljs-number">5</span>;
  v1.z = <span class="hljs-number">7</span>;
  Console.WriteLine(v1.Distance());
}
</code></pre>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/自我提升">自我提升</category>
        </item>
        <item>
            <title><![CDATA[枚举类型]]></title>
            <link>http://blog.wilsonzy.cn/post/50</link>
            <guid>http://blog.wilsonzy.cn/post/50</guid>
            <pubDate>Fri, 30 May 2025 09:41:42 GMT</pubDate>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <!-- more -->
<p>枚举类型<br>
开发⼀个游戏，游戏⾓⾊有法师（Mage）、射⼿（Archer）、刺客（Assassin）、坦克<br>
（Tank）、辅助（Support）、战⼠（Warrior），等不同类型。</p>
<p>如何存储游戏的⾓⾊？<br>
1、使⽤int类型</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code>  <span class="hljs-comment">//函数 - 定义 使用</span>
 <span class="hljs-number">1</span>法师（Mage）、<span class="hljs-number">2</span>射⼿（Archer）、<span class="hljs-number">3</span>刺客（Assassin）、<span class="hljs-number">4</span>坦克 （Tank）、<span class="hljs-number">5</span>辅助（Support）、<span class="hljs-number">6</span>战⼠（Warrior）
 <span class="hljs-built_in">int</span> roleType = <span class="hljs-number">4</span>;
 roleType = <span class="hljs-number">3</span>;
</code></pre>
<p>2、使⽤枚举</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-built_in">enum</span> RoleType <span class="hljs-comment">//枚举类型的名字</span>
{
  Mage,Archer,Assassin,Tank,Support,Warrior <span class="hljs-comment">//枚举类型的值</span>
}
<span class="hljs-comment">//主函数入口</span>
<span class="hljs-function"><span class="hljs-keyword">static</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Main</span>(<span class="hljs-params"><span class="hljs-built_in">string</span>[] args</span>)</span> {
  RoleType roleType = RoleType.Tank;
  <span class="hljs-keyword">if</span> (roleType == RoleType.Archer) {

  }
}
</code></pre>
<p>如何声明枚举类型？</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-built_in">enum</span> &lt;enum_name&gt;
{
value1,
value2,
value3,
...
valuen
};

</code></pre>
<p>如何声明</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code>&lt;enum_name&gt; varname;    
</code></pre>
<p>如何赋值</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code>varname = &lt;enum_name&gt;.&lt;<span class="hljs-keyword">value</span>&gt;   
</code></pre>
<p>❓使⽤枚举类型，表⽰游戏的状态。（菜单、游戏中、暂停、失败、成功）</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-built_in">enum</span> GameState {
  Menu,Running,Pause,Fail,Success
}
<span class="hljs-comment">//主函数入口  </span>
<span class="hljs-function"><span class="hljs-keyword">static</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Main</span>(<span class="hljs-params"><span class="hljs-built_in">string</span>[] args</span>)</span> {
  GameState gameState = GameState.Menu;
  gameState = GameState.Running;
  <span class="hljs-keyword">if</span> (gameState == GameState.Menu) {

  }
  Console.WriteLine(gameState);
}
</code></pre>
<p>❓使⽤枚举类型，表⽰周⼀到周⽇。</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-built_in">enum</span> Days { Sun, Mon, Tue, Wed, Thu, Fri, Sat };  
Days day = Days.Mon;
day = Days.Tue;
</code></pre>
<p>注意：<br>
枚举列表中的每个符号代表⼀个整数值，⼀个⽐它前⾯的符号⼤的整数值。默认情况下，第⼀个枚举符号的值是 0 ，可以修改默认的值</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-built_in">enum</span> Days
{
Sun, Mon=<span class="hljs-number">10</span>, Tue, Wed, Thu, Fri=<span class="hljs-number">100</span>, Sat
<span class="hljs-comment">// 0    10      11   12   13     100    101</span>
}
<span class="hljs-comment">// int i = 1;//0-6 1-7</span>
<span class="hljs-built_in">int</span> number = (<span class="hljs-built_in">int</span>)day;
Console.WriteLine(day);  <span class="hljs-comment">//结果为 Tue</span>
Console.WriteLine(number);  <span class="hljs-comment">//结果为 2</span>
</code></pre>
<p>所以可以把枚举类型转成整数，来使⽤。</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-number">1</span>:
<span class="hljs-built_in">int</span> i = (<span class="hljs-built_in">int</span>)<span class="hljs-built_in">enum</span>;
<span class="hljs-number">2</span>:
<span class="hljs-built_in">enum</span> GameSate{
Pause = <span class="hljs-number">100</span>,
Failed = <span class="hljs-number">101</span>,
Start
}
<span class="hljs-number">3</span>:
<span class="hljs-built_in">enum</span> GameSate:<span class="hljs-built_in">byte</span>{
Pause = <span class="hljs-number">100</span>,
Failed = <span class="hljs-number">101</span>,
Start
}
</code></pre>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/自我提升">自我提升</category>
        </item>
        <item>
            <title><![CDATA[常量]]></title>
            <link>http://blog.wilsonzy.cn/post/49</link>
            <guid>http://blog.wilsonzy.cn/post/49</guid>
            <pubDate>Fri, 30 May 2025 09:42:20 GMT</pubDate>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <!-- more -->
<p>常量<br>
常量是<strong>固定值，程序执行期间不会改变</strong>，它们的<strong>值在定义后不能被修改</strong>。<br>
合法常量</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-number">0213</span>       <span class="hljs-comment">/* 八进制 */</span>
<span class="hljs-number">0x4b</span>       <span class="hljs-comment">/* 十六进制 */</span>
<span class="hljs-number">30</span>         <span class="hljs-comment">/* int */</span>  
<span class="hljs-number">30u</span>        <span class="hljs-comment">/* 无符号 int */</span>
<span class="hljs-number">30l</span>        <span class="hljs-comment">/* long */</span>
<span class="hljs-number">30u</span>l       <span class="hljs-comment">/* 无符号 long */</span>
<span class="hljs-number">3.14159</span>       <span class="hljs-comment">/* 合法 */</span>
<span class="hljs-number">314159E-5</span>L    <span class="hljs-comment">/* 合法 */</span>
<span class="hljs-built_in">string</span> a = <span class="hljs-string">&quot;hello, world&quot;</span>;                  <span class="hljs-comment">// hello, world</span>
<span class="hljs-built_in">string</span> b = <span class="hljs-string">@&quot;hello, world&quot;</span>;               <span class="hljs-comment">// hello, world</span>
<span class="hljs-built_in">string</span> c = <span class="hljs-string">&quot;hello \t world&quot;</span>;               <span class="hljs-comment">// hello     world</span>
</code></pre>
<p>字符串常量是括在双引号 &quot;&quot; 里，或者是括在 @&quot;&quot; 里。</p>
<p>非法常量</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-number">510</span>E          <span class="hljs-comment">/* 非法：不完全指数 */</span>
<span class="hljs-number">210f</span>          <span class="hljs-comment">/* 非法：没有小数或指数 */</span>
.e55          <span class="hljs-comment">/* 非法：缺少整数或小数 */</span>
<span class="hljs-number">078</span>         <span class="hljs-comment">/* 非法：8 不是一个八进制数字 */</span>
<span class="hljs-number">032U</span>U       <span class="hljs-comment">/* 非法：不能重复后缀 */</span>
</code></pre>
<p>怎么把⼀个变量变成常量</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-keyword">const</span> &lt;data_type&gt; &lt;constant_name&gt; = <span class="hljs-keyword">value</span>;
</code></pre>
<p>为什么需要定义⼀个常量<br>
⽅便使⽤</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-function"><span class="hljs-keyword">static</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Main</span>(<span class="hljs-params"><span class="hljs-built_in">string</span>[] args</span>)</span> {
  Console.WriteLine(<span class="hljs-string">&quot;Hello World!&quot;</span>);
  <span class="hljs-comment">//变量 常量</span>
  <span class="hljs-built_in">int</span> i = <span class="hljs-number">12</span>;
  i = <span class="hljs-number">20</span>;
  <span class="hljs-keyword">const</span> <span class="hljs-built_in">int</span> j = <span class="hljs-number">100</span>;
  <span class="hljs-keyword">const</span> <span class="hljs-built_in">double</span> PI = <span class="hljs-number">3.141592</span>; <span class="hljs-comment">//</span>
  <span class="hljs-built_in">double</span> temp = PI * <span class="hljs-number">90</span>;
  Console.WriteLine(PI);
}
</code></pre>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/自我提升">自我提升</category>
        </item>
        <item>
            <title><![CDATA[递归函数]]></title>
            <link>http://blog.wilsonzy.cn/post/48</link>
            <guid>http://blog.wilsonzy.cn/post/48</guid>
            <pubDate>Fri, 30 May 2025 09:44:16 GMT</pubDate>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <!-- more -->
<p>递归函数</p>
<p>❓问题<br>
f(n)=f(n-1)+f(n-2) f(0)=2 f(1)=3 ,⽤程序求得f(40）</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-function"><span class="hljs-keyword">static</span> <span class="hljs-built_in">int</span> <span class="hljs-title">F</span>(<span class="hljs-params"><span class="hljs-built_in">int</span> n</span>)</span> {
  <span class="hljs-keyword">if</span> (n == <span class="hljs-number">0</span>) {
    <span class="hljs-keyword">return</span> <span class="hljs-number">2</span>;
  }
  <span class="hljs-keyword">if</span> (n == <span class="hljs-number">1</span>) {
    <span class="hljs-keyword">return</span> <span class="hljs-number">3</span>;
  }

  <span class="hljs-built_in">int</span> res = F(n - <span class="hljs-number">1</span>) + F(n - <span class="hljs-number">2</span>);
  <span class="hljs-keyword">return</span> res;
}
<span class="hljs-comment">//主函数入口</span>
<span class="hljs-function"><span class="hljs-keyword">static</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Main</span>(<span class="hljs-params"><span class="hljs-built_in">string</span>[] args</span>)</span> {
  Console.WriteLine(F(<span class="hljs-number">40</span>));
}
</code></pre>
<p>:::tip{title=&quot;解决办法： &quot;}<br>
1、使⽤循环<br>
2、使⽤递归函数</p>
<p>:::<br>
<strong>调⽤⾃⾝的函数就是递归函数</strong><br>
:::warning{title=&quot;注意&quot;}<br>
递归函数要有递归终⽌的条件<br>
:::</p>
<p>✋编程题<br>
利⽤递归取得10!  即10的阶乘</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-function"><span class="hljs-keyword">static</span> <span class="hljs-built_in">int</span> <span class="hljs-title">F</span>(<span class="hljs-params"><span class="hljs-built_in">int</span> n</span>)</span> {
  <span class="hljs-keyword">if</span> (n == <span class="hljs-number">1</span>) {
    <span class="hljs-keyword">return</span> <span class="hljs-number">1</span>;
  }
  <span class="hljs-built_in">int</span> result = n * F(n - <span class="hljs-number">1</span>);
  <span class="hljs-keyword">return</span> result;
}
<span class="hljs-comment">//主函数入口</span>
<span class="hljs-function"><span class="hljs-keyword">static</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Main</span>(<span class="hljs-params"><span class="hljs-built_in">string</span>[] args</span>)</span> {
  <span class="hljs-comment">//10! = 10*9 ...   1</span>

  <span class="hljs-built_in">int</span> result = <span class="hljs-number">1</span>;
  <span class="hljs-keyword">for</span> (<span class="hljs-built_in">int</span> i = <span class="hljs-number">1</span>; i &lt; <span class="hljs-number">11</span>; i++) {
    result = result * i;
  }
  Console.WriteLine(result);

  <span class="hljs-comment">//10!</span>
  f(n) = n * f(n - <span class="hljs-number">1</span>)
  <span class="hljs-comment">// 10! = 10*9!</span>
  <span class="hljs-comment">// f(1)=1 </span>
  Console.WriteLine(F(<span class="hljs-number">10</span>)); <span class="hljs-comment">//调用</span>
}
</code></pre>
<p>✋编程题<br>
1+2!+3!+...+10!<br>
利⽤多个⽅法计算结果</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-comment">//   方法1：    1+2!+3!+...+10!</span>
<span class="hljs-built_in">int</span> total = <span class="hljs-number">0</span>;
<span class="hljs-keyword">for</span> (<span class="hljs-built_in">int</span> i = <span class="hljs-number">1</span>; i &lt; <span class="hljs-number">11</span>; i++) {
  <span class="hljs-built_in">int</span> temp = <span class="hljs-number">1</span>;
  <span class="hljs-keyword">for</span> (<span class="hljs-built_in">int</span> j = <span class="hljs-number">1</span>; j &lt; i + <span class="hljs-number">1</span>; j++) <span class="hljs-comment">// i 的阶乘</span>
  {
    temp = temp * j;
  }
  total = total + temp;
}
Console.WriteLine(total);
</code></pre>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-comment">//   方法2：    1+2!+3!+...+10!</span>
<span class="hljs-function"><span class="hljs-keyword">static</span> <span class="hljs-built_in">int</span> <span class="hljs-title">F1</span>(<span class="hljs-params"><span class="hljs-built_in">int</span> n</span>)</span> {
  <span class="hljs-keyword">if</span> (n == <span class="hljs-number">1</span>) {
    <span class="hljs-keyword">return</span> <span class="hljs-number">1</span>;
  }
  <span class="hljs-built_in">int</span> result = n * F1(n - <span class="hljs-number">1</span>);
  <span class="hljs-keyword">return</span> result; <span class="hljs-comment">//计算递归结果</span>
}

<span class="hljs-function"><span class="hljs-keyword">static</span> <span class="hljs-built_in">int</span> <span class="hljs-title">F2</span>(<span class="hljs-params"><span class="hljs-built_in">int</span> n</span>)</span> {
    <span class="hljs-keyword">if</span> (n == <span class="hljs-number">1</span>) {
      <span class="hljs-keyword">return</span> <span class="hljs-number">1</span>;
    }
    <span class="hljs-keyword">return</span> F2(n - <span class="hljs-number">1</span>) + F1(n）; <span class="hljs-comment">//计算递归加法后的结果</span>
    }
    <span class="hljs-comment">//主函数入口</span>
    <span class="hljs-function"><span class="hljs-keyword">static</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Main</span>(<span class="hljs-params"><span class="hljs-built_in">string</span>[] args</span>)</span> {
      <span class="hljs-comment">//f(n)=1+2!+3!+...+n!</span>
      <span class="hljs-comment">//f(n)=f(n-1) + n!</span>
      <span class="hljs-comment">//f1(n)=n!</span>
      <span class="hljs-comment">//f2(n)=f2(n-1) + n!</span>
      Console.WriteLine(F2(<span class="hljs-number">10</span>));
    }
</code></pre>
<p>✋编程题<br>
有关系式1*1+2*2+3*3+...+k*k&lt;2000,编⼀个程序，求出满⾜此关系式的k的最⼤值<br>
利⽤递归和循环解决这个问题</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code> <span class="hljs-comment">//f(n)=1 + 2 +..  n</span>
<span class="hljs-comment">//f(n)= f(n-1)+n</span>
<span class="hljs-comment">//f(1)=1</span>
<span class="hljs-comment">// 循环方式</span>
<span class="hljs-built_in">int</span> k = <span class="hljs-number">1</span>;
<span class="hljs-built_in">int</span> result = <span class="hljs-number">0</span>;
<span class="hljs-keyword">while</span> (<span class="hljs-literal">true</span>) {
  result += k * k;
  <span class="hljs-keyword">if</span> (result &gt;= <span class="hljs-number">2000</span>) {
    <span class="hljs-keyword">break</span>;
  }
  k++;
}
Console.WriteLine(k - <span class="hljs-number">1</span>);
</code></pre>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-comment">// 递归方式</span>
<span class="hljs-function"><span class="hljs-keyword">static</span> <span class="hljs-built_in">int</span> <span class="hljs-title">F</span>(<span class="hljs-params"><span class="hljs-built_in">int</span> n</span>)</span> {
  <span class="hljs-keyword">if</span> (n == <span class="hljs-number">1</span>) {
    <span class="hljs-keyword">return</span> <span class="hljs-number">1</span>;
  }
  <span class="hljs-keyword">return</span> F(n - <span class="hljs-number">1</span>) + n * n;
}
<span class="hljs-comment">//主函数入口</span>
<span class="hljs-function"><span class="hljs-keyword">static</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Main</span>(<span class="hljs-params"><span class="hljs-built_in">string</span>[] args</span>)</span> {
  <span class="hljs-built_in">int</span> i = <span class="hljs-number">1</span>;
  <span class="hljs-keyword">while</span> (<span class="hljs-literal">true</span>) {
    <span class="hljs-keyword">if</span> (F(i) &gt;= <span class="hljs-number">2000</span>) {
      <span class="hljs-keyword">break</span>;
    }
    i++;
  }
  Console.WriteLine(i - <span class="hljs-number">1</span>);
}
</code></pre>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/自我提升">自我提升</category>
        </item>
        <item>
            <title><![CDATA[函数的重载]]></title>
            <link>http://blog.wilsonzy.cn/post/47</link>
            <guid>http://blog.wilsonzy.cn/post/47</guid>
            <pubDate>Fri, 30 May 2025 09:45:43 GMT</pubDate>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <!-- more -->
<p>函数的重载 - Overload</p>
<p>为什么使⽤函数重载？<br>
假设我们有⼀个函数⽤来实现求得⼀个数组的最⼤值</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-function"><span class="hljs-keyword">static</span> <span class="hljs-built_in">int</span> <span class="hljs-title">MaxValue</span>(<span class="hljs-params"><span class="hljs-built_in">int</span>[] intArray</span>)</span>{
....
<span class="hljs-keyword">return</span>;
}

</code></pre>
<p>这个函数只能⽤于处理int数组，如果想处理double类型的话需要再定义⼀个函数</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-function"><span class="hljs-keyword">static</span> <span class="hljs-built_in">double</span> <span class="hljs-title">MaxValue</span>(<span class="hljs-params"><span class="hljs-built_in">double</span>[] doubleArray</span>)</span>{
...
<span class="hljs-keyword">return</span>;
}

</code></pre>
<p><strong>函数名相同，参数不同</strong>，这个叫做<strong>函数的重载</strong><br>
编译器通过不同的参数去识别应该调⽤哪⼀个函数</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-function"><span class="hljs-keyword">static</span> <span class="hljs-built_in">int</span> <span class="hljs-title">MaxValue</span>(<span class="hljs-params"><span class="hljs-built_in">int</span>[] array</span>)</span> {
  <span class="hljs-built_in">int</span> max = array[<span class="hljs-number">0</span>];
  <span class="hljs-keyword">for</span> (<span class="hljs-built_in">int</span> i = <span class="hljs-number">1</span>; i &lt; array.Length; i++) {
    <span class="hljs-keyword">if</span> (max &lt; array[i]) {
      max = array[i];
    }
  }
  <span class="hljs-keyword">return</span> max;
}
<span class="hljs-function"><span class="hljs-keyword">static</span> <span class="hljs-built_in">double</span> <span class="hljs-title">MaxValue</span>(<span class="hljs-params"><span class="hljs-built_in">double</span>[] array</span>)</span> {
  <span class="hljs-built_in">double</span> max = array[<span class="hljs-number">0</span>];
  <span class="hljs-keyword">for</span> (<span class="hljs-built_in">int</span> i = <span class="hljs-number">1</span>; i &lt; array.Length; i++) {
    <span class="hljs-keyword">if</span> (max &lt; array[i]) {
      max = array[i];
    }
  }
  <span class="hljs-keyword">return</span> max;
}
<span class="hljs-function"><span class="hljs-keyword">static</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Main</span>(<span class="hljs-params"><span class="hljs-built_in">string</span>[] args</span>)</span> {
  Console.WriteLine(MaxValue(<span class="hljs-keyword">new</span> <span class="hljs-built_in">int</span>[] {
    <span class="hljs-number">45</span>,<span class="hljs-number">12</span>,<span class="hljs-number">57</span>,<span class="hljs-number">34</span>,<span class="hljs-number">534</span>,<span class="hljs-number">534</span>,<span class="hljs-number">5323</span>,<span class="hljs-number">324</span>
  }));
  Console.WriteLine(MaxValue(<span class="hljs-keyword">new</span> <span class="hljs-built_in">double</span>[] {
    <span class="hljs-number">45</span>,<span class="hljs-number">12</span>,<span class="hljs-number">57</span>,<span class="hljs-number">34</span>,<span class="hljs-number">534</span>,<span class="hljs-number">534</span>,<span class="hljs-number">5323</span>,<span class="hljs-number">324</span>,<span class="hljs-number">23453.3</span>
  }));
}
</code></pre>
<p>:::tip{title=&quot;提示&quot;}<br>
编译器会根据你传递过来的实参的类型去判定调⽤哪⼀个函数<br>
:::</p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/自我提升">自我提升</category>
        </item>
        <item>
            <title><![CDATA[参数数组]]></title>
            <link>http://blog.wilsonzy.cn/post/46</link>
            <guid>http://blog.wilsonzy.cn/post/46</guid>
            <pubDate>Fri, 30 May 2025 09:46:57 GMT</pubDate>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <!-- more -->
<p>参数数组 和 函数</p>
<p>❓问题<br>
定义一个函数，用来取得数字的和，但是数字的个数不确定。</p>
<p>:::tip{title=&quot;解决方案：&quot;}<br>
1、定义一个函数，参数传递过来一个数组；<br>
2、定义一个参数个数不确定的函数，这个时候我们就要使用参数数组。<br>
<strong>除了参数数组，所有函数的参数都是固定的，那么调用的时候，参数是一定要传递的</strong><br>
:::</p>
<p><strong>参数数组的定义</strong>（使⽤的时候，当成数组使⽤即可，传递的时候参数任意个）</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-function"><span class="hljs-keyword">static</span> <span class="hljs-built_in">int</span> <span class="hljs-title">Add</span>(<span class="hljs-params"><span class="hljs-keyword">params</span> <span class="hljs-built_in">int</span>[] array</span>)</span>
{ 

}  
</code></pre>
<p>:::note{title=&quot;&quot;}<br>
这里定义了一个int类型的参数数组，参数数组和数组参数（上面的）的不同，在于函数的调用，调用参数数组的函数的时候，我们可以传递过来任意多个参数，然后编译器会帮我们自动组拼成一个数组，参数如果是上面的数组参数，那么这个数组我们自己去手动创建</p>
<p>参数数组就是帮我们 减少了一个创建数组的过程<br>
:::</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-function"><span class="hljs-keyword">static</span> <span class="hljs-built_in">int</span> <span class="hljs-title">Add1</span>(<span class="hljs-params"><span class="hljs-built_in">int</span> a, <span class="hljs-built_in">int</span> b</span>) <span class="hljs-comment">//不加params</span></span>
{
  <span class="hljs-keyword">return</span> a + b;
}
<span class="hljs-function"><span class="hljs-keyword">static</span> <span class="hljs-built_in">int</span> <span class="hljs-title">Add2</span>(<span class="hljs-params"><span class="hljs-built_in">int</span>[] array</span>) <span class="hljs-comment">//不加params</span></span>
{
  <span class="hljs-built_in">int</span> sum = <span class="hljs-number">0</span>;
  <span class="hljs-keyword">foreach</span>(<span class="hljs-built_in">int</span> temp <span class="hljs-keyword">in</span> array) {
    sum += temp;
  }
  <span class="hljs-keyword">return</span> sum;
}
<span class="hljs-function"><span class="hljs-keyword">static</span> <span class="hljs-built_in">int</span> <span class="hljs-title">Add3</span>(<span class="hljs-params"><span class="hljs-keyword">params</span> <span class="hljs-built_in">int</span>[] array</span>) <span class="hljs-comment">//可以传递任意个个数的参数  //加params</span></span>
{
  <span class="hljs-built_in">int</span> sum = <span class="hljs-number">0</span>;
  <span class="hljs-keyword">foreach</span>(<span class="hljs-built_in">int</span> temp <span class="hljs-keyword">in</span> array) {
    sum += temp;
  }
  <span class="hljs-keyword">return</span> sum;
}

<span class="hljs-function"><span class="hljs-keyword">static</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Main</span>(<span class="hljs-params"><span class="hljs-built_in">string</span>[] args</span>) <span class="hljs-comment">//主函数入口</span></span>
{
  <span class="hljs-built_in">int</span> sum1 = Add2(<span class="hljs-keyword">new</span> <span class="hljs-built_in">int</span>[] {<span class="hljs-number">2</span>,<span class="hljs-number">4</span>,<span class="hljs-number">8</span>}); <span class="hljs-comment">//调用1</span>
  Console.WriteLine(sum1);

  <span class="hljs-built_in">int</span>[] array2 = {<span class="hljs-number">6</span>,<span class="hljs-number">8</span>,<span class="hljs-number">9</span>};
  <span class="hljs-built_in">int</span> sum2 = Add2(array2); <span class="hljs-comment">//调用2</span>
  Console.WriteLine(sum2);

  <span class="hljs-built_in">int</span> sum3 = Add3(<span class="hljs-number">6</span>, <span class="hljs-number">8</span>, <span class="hljs-number">1</span>);
  Console.WriteLine(sum3); <span class="hljs-comment">//调用3</span>

  <span class="hljs-built_in">int</span> sum4 = Add3(<span class="hljs-number">1</span>, <span class="hljs-number">3</span>, <span class="hljs-number">5</span>, <span class="hljs-number">7</span>, <span class="hljs-number">9</span>, <span class="hljs-number">2</span>); <span class="hljs-comment">//调用3</span>
  Console.WriteLine(sum4);
}
</code></pre>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/自我提升">自我提升</category>
        </item>
        <item>
            <title><![CDATA[函数]]></title>
            <link>http://blog.wilsonzy.cn/post/45</link>
            <guid>http://blog.wilsonzy.cn/post/45</guid>
            <pubDate>Fri, 30 May 2025 09:49:02 GMT</pubDate>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <!-- more -->  
<p><strong>函数（Function ⽅法Method）</strong></p>
<p>⽅法Method <strong>名称首字母大写</strong></p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-comment">//方法的定义 ：   / / VerifyUsername</span>
<span class="hljs-comment">//bool  需返回布尔类型值       //形参 形式参数</span>
<span class="hljs-function"><span class="hljs-keyword">static</span> <span class="hljs-built_in">bool</span> <span class="hljs-title">VerifyUsername</span>(<span class="hljs-params"><span class="hljs-built_in">string</span> username</span>) <span class="hljs-comment">//参数</span></span>
{
  Console.WriteLine(<span class="hljs-string">&quot;校验逻辑修改&quot;</span>);
  Console.WriteLine(<span class="hljs-string">&quot;校验逻辑修改2&quot;</span>);
  Console.WriteLine(<span class="hljs-string">&quot;校验用户名&quot;</span> + username);
  <span class="hljs-keyword">return</span> <span class="hljs-literal">true</span>;
}
<span class="hljs-comment">//主函数-入口函数 --   主方法 入口方法 </span>
<span class="hljs-function"><span class="hljs-keyword">static</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Main</span>(<span class="hljs-params"><span class="hljs-built_in">string</span>[] args</span>)</span> {
  <span class="hljs-comment">//100-50</span>
  <span class="hljs-comment">//方法的调用：</span>
  <span class="hljs-comment">//某个字符串     实参，实际参数</span>
  <span class="hljs-built_in">bool</span> result = VerifyUsername(<span class="hljs-string">&quot;siki&quot;</span>);
  Console.WriteLine(result);
}
</code></pre>
<ul>
<li>1、如果需要重复执⾏某段代码，那就需要写重复的代码</li>
<li>2、重复的代码多了，不容易管理，不容易阅读和维护</li>
</ul>
<p>⽐如某段代码的功能是校验⽤户输⼊的⽤户名是否符合要求。</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-function"><span class="hljs-keyword">static</span> <span class="hljs-built_in">bool</span> <span class="hljs-title">VerifyUsername</span>(<span class="hljs-params"><span class="hljs-built_in">string</span> username</span>) <span class="hljs-comment">//参数</span></span>
{
  Console.WriteLine(<span class="hljs-string">&quot;校验逻辑修改&quot;</span>);
  Console.WriteLine(<span class="hljs-string">&quot;校验逻辑修改2&quot;</span>);
  Console.WriteLine(<span class="hljs-string">&quot;校验用户名&quot;</span> + username);
  <span class="hljs-keyword">return</span> <span class="hljs-literal">true</span>;
}
<span class="hljs-comment">//主函数-入口函数 --   主方法 入口方法 </span>
<span class="hljs-function"><span class="hljs-keyword">static</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Main</span>(<span class="hljs-params"><span class="hljs-built_in">string</span>[] args</span>)</span> {
  <span class="hljs-built_in">bool</span> result = VerifyUsername(<span class="hljs-string">&quot;siki&quot;</span>);
  Console.WriteLine(result);
  <span class="hljs-comment"><span class="hljs-doctag">///</span>/Console.WriteLine(&quot;校验逻辑修改&quot;);</span>
  <span class="hljs-comment"><span class="hljs-doctag">///</span>/Console.WriteLine(&quot;校验用户名&quot;);</span>
  VerifyUsername(<span class="hljs-string">&quot;sikiedu&quot;</span>);
  <span class="hljs-comment"><span class="hljs-doctag">///</span>/Console.WriteLine(&quot;校验逻辑修改&quot;);</span>
  <span class="hljs-comment"><span class="hljs-doctag">///</span>/Console.WriteLine(&quot;校验用户名&quot;);</span>
  VerifyUsername(<span class="hljs-string">&quot;micheal&quot;</span>);
}
</code></pre>
<p>如果程序中有多个地⽅需要做校验，就会有重复代码。</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code> <span class="hljs-comment">//  a + b</span>
<span class="hljs-function"><span class="hljs-keyword">static</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Add1</span>()</span> {
  <span class="hljs-built_in">int</span> result = <span class="hljs-number">3</span> + <span class="hljs-number">4</span>;
}
<span class="hljs-function"><span class="hljs-keyword">static</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Add2</span>(<span class="hljs-params"><span class="hljs-built_in">int</span> a, <span class="hljs-built_in">int</span> b</span>)</span> {
  <span class="hljs-built_in">int</span> result = a + b;
}
<span class="hljs-comment">//static 静态-修饰符</span>
<span class="hljs-function"><span class="hljs-keyword">static</span> <span class="hljs-built_in">int</span> <span class="hljs-title">Add3</span>(<span class="hljs-params"><span class="hljs-built_in">int</span> a, <span class="hljs-built_in">int</span> b</span>)</span> {
  <span class="hljs-built_in">int</span> result = a + b;
  <span class="hljs-keyword">return</span> result; <span class="hljs-comment">//break; 方法返回了之后，表示这个方法结束了，后续代码就不执行了</span>
  Console.WriteLine(<span class="hljs-string">&quot;123&quot;</span>);
}
<span class="hljs-comment">//主函数-入口函数 --   主方法 入口方法 </span>
<span class="hljs-function"><span class="hljs-keyword">static</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Main</span>(<span class="hljs-params"><span class="hljs-built_in">string</span>[] args</span>)</span> { <span class="hljs-comment">//方法的调用</span>
  Add1();
  Add2(<span class="hljs-number">10</span>, <span class="hljs-number">12</span>);
  <span class="hljs-built_in">int</span> res = Add3(<span class="hljs-number">23</span>, <span class="hljs-number">23</span>);
  Console.WriteLine(res);
}
</code></pre>
<p>❓练习1 - 引⼊知识点</p>
<p>区间内的真素数<br>
找出正整数 M 和 N 之间（N 不⼩于 M）的所有真素数。真素数的定义：如果⼀个正整数P 为素数，且其反序也为素数，那么 P 就为真素数。例如，11，13 均为真素数，因为11的反序还是为11，13 的反序为 31 也为素数。</p>
<p>输⼊格式：输⼊两个数 M 和 N，空格间隔，1 &lt;= M &lt;= N &lt;= 100000。输出格式：按从⼩到⼤输出 M 和 N 之间（包括 M 和 N ）的真素数，逗号间隔。如果之间没有真素数，则输出 No。</p>
<p>输⼊样例：10 35<br>
输出样例：11,13,17,31</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code> <span class="hljs-comment">// m&lt;=n</span>
<span class="hljs-built_in">string</span> str = Console.ReadLine();
<span class="hljs-built_in">string</span>[] strArray = str.Split(<span class="hljs-string">&quot; &quot;</span>);
<span class="hljs-built_in">int</span>[] intArray = <span class="hljs-keyword">new</span> <span class="hljs-built_in">int</span>[strArray.Length];
<span class="hljs-keyword">for</span> (<span class="hljs-built_in">int</span> j = <span class="hljs-number">0</span>; j &lt; strArray.Length; j++) {
  <span class="hljs-built_in">int</span> number = Convert.ToInt32(strArray[j]);
  intArray[j] = number;
} <span class="hljs-comment">//得到用户输入的一组数字  </span>

<span class="hljs-built_in">int</span> m = intArray[<span class="hljs-number">0</span>];
<span class="hljs-built_in">int</span> n = intArray[<span class="hljs-number">1</span>];

<span class="hljs-keyword">for</span> (<span class="hljs-built_in">int</span> i = m; i &lt; n + <span class="hljs-number">1</span>; i++) {
  <span class="hljs-comment">//判断i是否是素数</span>
  <span class="hljs-built_in">bool</span> isSu = <span class="hljs-literal">true</span>;
  <span class="hljs-keyword">for</span> (<span class="hljs-built_in">int</span> j = <span class="hljs-number">2</span>; j &lt; i; j++) <span class="hljs-comment">//2~i-1</span>
  {
    <span class="hljs-keyword">if</span> (i % j == <span class="hljs-number">0</span>) <span class="hljs-comment">//被整除</span>
    {
      isSu = <span class="hljs-literal">false</span>;
      <span class="hljs-keyword">break</span>;
    }
  }

  <span class="hljs-keyword">if</span> (isSu) <span class="hljs-comment">//是素数</span>
  {
    <span class="hljs-comment">//取得反序 i    </span>
    <span class="hljs-comment">// 624  </span>
    <span class="hljs-built_in">int</span> temp = i;
    <span class="hljs-built_in">int</span> number = <span class="hljs-number">0</span>;
    <span class="hljs-keyword">while</span> (temp % <span class="hljs-number">10</span> != <span class="hljs-number">0</span>) <span class="hljs-comment">// 426    (6*10+2)*10+4</span>
    {
      number = number * <span class="hljs-number">10</span> + temp % <span class="hljs-number">10</span>;
      temp = temp / <span class="hljs-number">10</span>;
    }

    <span class="hljs-built_in">bool</span> isSuFan = <span class="hljs-literal">true</span>;
    <span class="hljs-keyword">for</span> (<span class="hljs-built_in">int</span> j = <span class="hljs-number">2</span>; j &lt; number; j++) {
      <span class="hljs-keyword">if</span> (number % j == <span class="hljs-number">0</span>) <span class="hljs-comment">//被整除</span>
      {
        isSuFan = <span class="hljs-literal">false</span>;
        <span class="hljs-keyword">break</span>;
      }
    }
    <span class="hljs-keyword">if</span> (isSuFan == <span class="hljs-literal">true</span>) {
      Console.Write(i + <span class="hljs-string">&quot; &quot;</span>);
    }
  }
}
</code></pre>
<p>改良后</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-comment">// 定义方法</span>
<span class="hljs-function"><span class="hljs-keyword">static</span> <span class="hljs-built_in">bool</span> <span class="hljs-title">IsSu</span>(<span class="hljs-params"><span class="hljs-built_in">int</span> number</span>)</span> {
  <span class="hljs-built_in">bool</span> isSu = <span class="hljs-literal">true</span>;
  <span class="hljs-keyword">for</span> (<span class="hljs-built_in">int</span> j = <span class="hljs-number">2</span>; j &lt; number - <span class="hljs-number">1</span>; j++) <span class="hljs-comment">//2~i-1</span>
  {
    <span class="hljs-keyword">if</span> (number % j == <span class="hljs-number">0</span>) {
      isSu = <span class="hljs-literal">false</span>;
      <span class="hljs-keyword">return</span> isSu;
    }
  }
  <span class="hljs-keyword">return</span> isSu;
}
<span class="hljs-comment">// 调用</span>
<span class="hljs-function"><span class="hljs-keyword">static</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Main</span>(<span class="hljs-params"><span class="hljs-built_in">string</span>[] args</span>) <span class="hljs-comment">//主函数入口</span></span>
{
  <span class="hljs-comment">// m&lt;=n</span>
  <span class="hljs-built_in">string</span> str = Console.ReadLine();
  <span class="hljs-built_in">string</span>[] strArray = str.Split(<span class="hljs-string">&quot; &quot;</span>);
  <span class="hljs-built_in">int</span>[] intArray = <span class="hljs-keyword">new</span> <span class="hljs-built_in">int</span>[strArray.Length];
  <span class="hljs-keyword">for</span> (<span class="hljs-built_in">int</span> j = <span class="hljs-number">0</span>; j &lt; strArray.Length; j++) {
    <span class="hljs-built_in">int</span> number = Convert.ToInt32(strArray[j]);
    intArray[j] = number;
  } <span class="hljs-comment">//得到用户输入的一组数字  </span>

  <span class="hljs-built_in">int</span> m = intArray[<span class="hljs-number">0</span>];
  <span class="hljs-built_in">int</span> n = intArray[<span class="hljs-number">1</span>];

  <span class="hljs-keyword">for</span> (<span class="hljs-built_in">int</span> i = m; i &lt; n + <span class="hljs-number">1</span>; i++) {
    <span class="hljs-comment">//判断i是否是素数</span>
    <span class="hljs-comment">//取得反序</span>
    <span class="hljs-comment">//判断是否是素数</span>
    <span class="hljs-built_in">bool</span> isSu = IsSu(i); <span class="hljs-comment">//调用函数</span>
    <span class="hljs-keyword">if</span> (isSu) <span class="hljs-comment">//是素数</span>
    {
      <span class="hljs-comment">//取得反序 i</span>
      <span class="hljs-comment">// 426    (6*10+2)*10+4</span>
      <span class="hljs-comment">// 624  </span>
      <span class="hljs-built_in">int</span> temp = i;
      <span class="hljs-built_in">int</span> number = <span class="hljs-number">0</span>;
      <span class="hljs-keyword">while</span> (temp % <span class="hljs-number">10</span> != <span class="hljs-number">0</span>) {
        number = number * <span class="hljs-number">10</span> + temp % <span class="hljs-number">10</span>;
        temp = temp / <span class="hljs-number">10</span>;
      }

      <span class="hljs-built_in">bool</span> isSuFan = IsSu(number); <span class="hljs-comment">//调用函数</span>
      <span class="hljs-keyword">if</span> (isSuFan == <span class="hljs-literal">true</span>) {
        Console.Write(i + <span class="hljs-string">&quot; &quot;</span>);
      }
    }
  }
}
</code></pre>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code>函数的定义和使⽤
<span class="hljs-function"><span class="hljs-keyword">static</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Verify</span>()  <span class="hljs-comment">//static 静态的  void 返回值（可以不需要） Verify()方法名（参数）</span></span>
{   
<span class="hljs-comment">//程序段</span>
}
Verify();  <span class="hljs-comment">//调用 </span>

函数的参数(形参和实参)
<span class="hljs-function"><span class="hljs-keyword">static</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Add</span>(<span class="hljs-params"><span class="hljs-built_in">int</span> a,<span class="hljs-built_in">int</span> b</span>)</span>{
}
Add(<span class="hljs-number">23</span>,<span class="hljs-number">1</span>); <span class="hljs-comment">//(实际参数）  </span>

函数的返回值
<span class="hljs-function"><span class="hljs-keyword">static</span> <span class="hljs-built_in">int</span> <span class="hljs-title">Add</span>(<span class="hljs-params"><span class="hljs-built_in">int</span> a,<span class="hljs-built_in">int</span> b</span>)</span>{
 <span class="hljs-keyword">return</span> a+b;
}
</code></pre>
<p>:::info{title=&quot;相关信息&quot;}<br>
return⽤来结束当前函数，并把某个结果返回</p>
<p>如果是void的可以直接return;<br>
:::</p>
<p>❓练习2<br>
定义⼀个函数，⽤来取得⼀个数字的所有因⼦，把所有因⼦返回。</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-comment">//定义函数</span>
<span class="hljs-function"><span class="hljs-keyword">static</span> <span class="hljs-built_in">int</span>[] <span class="hljs-title">GetIn</span>(<span class="hljs-params"><span class="hljs-built_in">int</span> number</span>)</span> {
  <span class="hljs-built_in">int</span> count = <span class="hljs-number">0</span>;
  <span class="hljs-keyword">for</span> (<span class="hljs-built_in">int</span> i = <span class="hljs-number">1</span>; i &lt; number + <span class="hljs-number">1</span>; i++) {
    <span class="hljs-keyword">if</span> (number % i == <span class="hljs-number">0</span>) <span class="hljs-comment">//计算有多少个因子</span>
    {
      count++;
    }
  }
  <span class="hljs-built_in">int</span>[] array = <span class="hljs-keyword">new</span> <span class="hljs-built_in">int</span>[count];
  <span class="hljs-built_in">int</span> index = <span class="hljs-number">0</span>; <span class="hljs-comment">//位置索引</span>
  <span class="hljs-keyword">for</span> (<span class="hljs-built_in">int</span> i = <span class="hljs-number">1</span>; i &lt; number + <span class="hljs-number">1</span>; i++) {
    <span class="hljs-keyword">if</span> (number % i == <span class="hljs-number">0</span>) <span class="hljs-comment">//创建数组</span>
    {
      array[index] = i;
      index++;
    }
  }
  <span class="hljs-keyword">return</span> array; <span class="hljs-comment">//返回数组</span>
}

<span class="hljs-comment">//主函数入口</span>
<span class="hljs-function"><span class="hljs-keyword">static</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Main</span>(<span class="hljs-params"><span class="hljs-built_in">string</span>[] args</span>)</span> {
  <span class="hljs-built_in">int</span> number = Convert.ToInt32(Console.ReadLine());
  <span class="hljs-built_in">int</span>[] array = GetIn(number); <span class="hljs-comment">//调用函数</span>
  <span class="hljs-keyword">foreach</span>(<span class="hljs-built_in">int</span> temp <span class="hljs-keyword">in</span> array) {
    Console.Write(temp + <span class="hljs-string">&quot; &quot;</span>);
  }
}
</code></pre>
<p>❓练习3<br>
定义⼀个函数，⽤来取得⼀个数组中的最⼤值。</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-comment">//定义函数</span>
<span class="hljs-function"><span class="hljs-keyword">static</span> <span class="hljs-built_in">int</span> <span class="hljs-title">Max</span>(<span class="hljs-params"><span class="hljs-built_in">int</span>[] array</span>)</span> {
  <span class="hljs-built_in">int</span> max = array[<span class="hljs-number">0</span>];
  <span class="hljs-keyword">for</span> (<span class="hljs-built_in">int</span> i = <span class="hljs-number">1</span>; i &lt; array.Length; i++) {
    <span class="hljs-keyword">if</span> (array[i] &gt; max) {
      max = array[i];
    }
  }
  <span class="hljs-keyword">return</span> max;
}
<span class="hljs-comment">//主函数入口</span>
<span class="hljs-function"><span class="hljs-keyword">static</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Main</span>(<span class="hljs-params"><span class="hljs-built_in">string</span>[] args</span>)</span> {
  <span class="hljs-built_in">string</span> str = Console.ReadLine();
  <span class="hljs-built_in">string</span>[] strArray = str.Split(<span class="hljs-string">&quot; &quot;</span>);
  <span class="hljs-built_in">int</span>[] intArray = <span class="hljs-keyword">new</span> <span class="hljs-built_in">int</span>[strArray.Length];
  <span class="hljs-keyword">for</span> (<span class="hljs-built_in">int</span> j = <span class="hljs-number">0</span>; j &lt; strArray.Length; j++) {
    <span class="hljs-built_in">int</span> number = Convert.ToInt32(strArray[j]);
    intArray[j] = number;
  }
  <span class="hljs-built_in">int</span> n = Max(intArray); <span class="hljs-comment">//调用</span>
  Console.WriteLine(n);
}
</code></pre>
<p>:::note{title=&quot;注&quot;}<br>
1、函数的⼏个要素</p>
<ul>
<li>返回值、参数、函数名。</li>
</ul>
<p>2、函数的修饰（static）</p>
<ul>
<li>其他的东⻄都是修饰<br>
:::</li>
</ul>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/自我提升">自我提升</category>
        </item>
        <item>
            <title><![CDATA[模拟法]]></title>
            <link>http://blog.wilsonzy.cn/post/44</link>
            <guid>http://blog.wilsonzy.cn/post/44</guid>
            <pubDate>Fri, 30 May 2025 09:50:38 GMT</pubDate>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <!-- more -->
<p>张三的零花钱</p>
<p>不知道你有没有零花钱？你是如何管理⾃⼰的零花钱的？</p>
<p>张三总爱乱花钱。每个⽉的⽉初妈妈给张三300元钱 ，张三会预算这个⽉的花销，并且能做到实际的花销和预算相同。为了让张三学会对⾦钱的管理，妈妈提出，张三可以随时把整百的前存在她那⾥，到了12⽉31⽇，他会加上20%还给张三，也就是说，张三给妈妈的每⼀个100元，到年底都会变成120元！因此张三制定了⼀个存储计划：每个⽉的⽉初，在得到妈妈给的零花钱后，如果他预计到这个⽉的⽉末⼿中还会有多于100元或恰好100元，他就会把整百的钱存在妈妈那⾥，剩余的钱存在⾃⼰⼿⾥。⽐如11⽉初张三⼿中还有83元，妈妈留了张三300元。张三预计11⽉的花销是180元，那么他就会在妈妈那⾥存200元，⾃⼰留下183元。到了11⽉⽉末，张三⼿中会剩下3元钱。</p>
<p>张三发现这个存储计划的主要⻛险是，存在妈妈那⾥的钱在年末之前不能取出。有可能在某个⽉的⽉初，张三⼿中的钱加上这个⽉妈妈给的钱，不够这个⽉的预算。如果出现这种情况，张三将不得不在这个⽉省吃简⽤，压缩预算。</p>
<p>现在请你根据2019年1⽉到12⽉每个⽉张三的预算，判断会不会出现这种情况。如果储蓄计划实施过程中会出现某个⽉钱不够⽤的情况，输出-x,x表⽰出现这种情况的第⼀个⽉；如果不会，计算到2019年12⽉31⽇，妈妈将张三平时存的钱加上20%还给张三后，张三⼿⾥会有多少钱。</p>
<p>样例输⼊<br>
240 280 200 300 120 350 80 50 270 260<br>
样例输出<br>
-7</p>
<p>样例输⼊<br>
290 230 280 200 300 170 130 50 90 80 200 300<br>
样例输出<br>
1520</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-built_in">string</span> str = Console.ReadLine();
<span class="hljs-built_in">string</span>[] strArray = str.Split(<span class="hljs-string">&quot; &quot;</span>);
<span class="hljs-built_in">int</span>[] budget = <span class="hljs-keyword">new</span> <span class="hljs-built_in">int</span>[strArray.Length];
<span class="hljs-keyword">for</span> (<span class="hljs-built_in">int</span> j = <span class="hljs-number">0</span>; j &lt; strArray.Length; j++) {
  <span class="hljs-built_in">int</span> n = Convert.ToInt32(strArray[j]);
  budget[j] = n;
} <span class="hljs-comment">//获得一组数字  </span>

<span class="hljs-built_in">int</span> self = <span class="hljs-number">0</span>; <span class="hljs-comment">//自己的</span>
<span class="hljs-built_in">int</span> mom = <span class="hljs-number">0</span>; <span class="hljs-comment">//m妈妈给的</span>
<span class="hljs-built_in">int</span> i = <span class="hljs-number">0</span>; <span class="hljs-comment">//哪一个月</span>
<span class="hljs-built_in">int</span> tmp = <span class="hljs-number">0</span>; <span class="hljs-comment">//预算</span>

<span class="hljs-keyword">for</span> (i = <span class="hljs-number">0</span>; i &lt; <span class="hljs-number">12</span>; i++) <span class="hljs-comment">//0-11  i+1</span>
{
  <span class="hljs-comment">//本月一共有多少300+self</span>
  <span class="hljs-comment">//预算budget[i]</span>
  tmp = <span class="hljs-number">300</span> + self - budget[i]; <span class="hljs-comment">//剩余的钱  280/100 = 2*100 =200</span>
  <span class="hljs-keyword">if</span> (tmp &lt; <span class="hljs-number">0</span>) {
    <span class="hljs-comment">//i+1</span>
    <span class="hljs-keyword">break</span>;
  }
  <span class="hljs-comment">//整百的</span>
  mom += (tmp / <span class="hljs-number">100</span>) * <span class="hljs-number">100</span>;
  self = tmp % <span class="hljs-number">100</span>;
}
<span class="hljs-keyword">if</span> (tmp &lt; <span class="hljs-number">0</span>) {
  Console.WriteLine(<span class="hljs-string">&quot;-&quot;</span> + (i + <span class="hljs-number">1</span>));
} <span class="hljs-keyword">else</span> {
  self = self + (<span class="hljs-built_in">int</span>)(mom * <span class="hljs-number">1.2</span>);
  Console.WriteLine(self);
}
</code></pre>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/自我提升">自我提升</category>
        </item>
        <item>
            <title><![CDATA[练习题9]]></title>
            <link>http://blog.wilsonzy.cn/post/43</link>
            <guid>http://blog.wilsonzy.cn/post/43</guid>
            <pubDate>Fri, 30 May 2025 09:53:28 GMT</pubDate>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <!-- more -->
<p>✋编程题<br>
输⼊n(n&lt;100)个数，找出其中最⼩的数，将它与最前⾯的数交换后输出这些数。</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-comment">//35 33 45 56 2 131 435 </span>
<span class="hljs-built_in">string</span> str = Console.ReadLine();
<span class="hljs-built_in">string</span>[] strArray = str.Split(<span class="hljs-string">&quot; &quot;</span>);
<span class="hljs-built_in">int</span>[] intArray = <span class="hljs-keyword">new</span> <span class="hljs-built_in">int</span>[strArray.Length];
<span class="hljs-keyword">for</span> (<span class="hljs-built_in">int</span> i = <span class="hljs-number">0</span>; i &lt; strArray.Length; i++) {
  <span class="hljs-built_in">int</span> number = Convert.ToInt32(strArray[i]);
  intArray[i] = number;
} <span class="hljs-comment">//得到一个有序的数组</span>

<span class="hljs-built_in">int</span> min = intArray[<span class="hljs-number">0</span>]; <span class="hljs-comment">//4</span>
<span class="hljs-built_in">int</span> minIndex = <span class="hljs-number">0</span>;
<span class="hljs-keyword">for</span> (<span class="hljs-built_in">int</span> i = <span class="hljs-number">1</span>; i &lt; intArray.Length; i++) {
  <span class="hljs-keyword">if</span> (intArray[i] &lt; min) {
    min = intArray[i];
    minIndex = i;
  }
}
<span class="hljs-built_in">int</span> temp = intArray[<span class="hljs-number">0</span>];
intArray[<span class="hljs-number">0</span>] = intArray[minIndex];
intArray[minIndex] = temp;
<span class="hljs-keyword">foreach</span>(<span class="hljs-built_in">int</span> t <span class="hljs-keyword">in</span> intArray) {
  Console.Write(t + <span class="hljs-string">&quot; &quot;</span>);
}
</code></pre>
<p>插入X =6     →→→→    <strong>2</strong> 35 33 45 56 <strong>6</strong> 131 435</p>
<p>✋编程题<br>
有n(n&lt;=100)个整数，已经按照从⼩到⼤顺序排列好，现在另外给⼀个整数x，请将该数插⼊到序列中，并使新的序列仍然有序。<br>
3 5 34 56 123 456<br>
插入x = 10</p>
<p>输出新的序列<br>
3 5 10 34 56 123 456</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-built_in">string</span> str = Console.ReadLine();
<span class="hljs-built_in">string</span>[] strArray = str.Split(<span class="hljs-string">&quot; &quot;</span>);
<span class="hljs-built_in">int</span>[] intArray = <span class="hljs-keyword">new</span> <span class="hljs-built_in">int</span>[strArray.Length];
<span class="hljs-keyword">for</span> (<span class="hljs-built_in">int</span> i = <span class="hljs-number">0</span>; i &lt; strArray.Length; i++) {
  <span class="hljs-built_in">int</span> number = Convert.ToInt32(strArray[i]);
  intArray[i] = number;
} <span class="hljs-comment">//得到一个有序的数组</span>

<span class="hljs-built_in">int</span> x = Convert.ToInt32(Console.ReadLine());
<span class="hljs-built_in">int</span> m = intArray.Length - <span class="hljs-number">1</span>;
<span class="hljs-keyword">for</span> (<span class="hljs-built_in">int</span> i = <span class="hljs-number">0</span>; i &lt; intArray.Length - <span class="hljs-number">1</span>; i++) {
  <span class="hljs-keyword">if</span> (x &gt;= intArray[i] &amp;&amp; x &lt;= intArray[i + <span class="hljs-number">1</span>]) {
    m = i;
    <span class="hljs-keyword">break</span>;
  }
}
<span class="hljs-keyword">if</span> (x &lt; intArray[<span class="hljs-number">0</span>]) {
  m = <span class="hljs-number">-1</span>;
}
<span class="hljs-comment">//创建一个新的数组</span>
<span class="hljs-built_in">int</span>[] intArrayNew = <span class="hljs-keyword">new</span> <span class="hljs-built_in">int</span>[intArray.Length + <span class="hljs-number">1</span>];
<span class="hljs-comment">//0-m = 0~-1    </span>
<span class="hljs-keyword">for</span> (<span class="hljs-built_in">int</span> i = <span class="hljs-number">0</span>; i &lt; m + <span class="hljs-number">1</span>; i++) {
  intArrayNew[i] = intArray[i];
}
intArrayNew[m + <span class="hljs-number">1</span>] = x; <span class="hljs-comment">//插入X值</span>
<span class="hljs-comment">//m+1~length-1 的数移动到新数组</span>
<span class="hljs-keyword">for</span> (<span class="hljs-built_in">int</span> i = m + <span class="hljs-number">1</span>; i &lt; intArray.Length; i++) {
  intArrayNew[i + <span class="hljs-number">1</span>] = intArray[i];
}
<span class="hljs-keyword">foreach</span>(<span class="hljs-built_in">int</span> temp <span class="hljs-keyword">in</span> intArrayNew) {
  Console.Write(temp + <span class="hljs-string">&quot; &quot;</span>);
}
</code></pre>
<p>✋编程题<br>
输⼊⼀个字符串，判断其是否是C#的合法标识符。</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-built_in">string</span> str = Console.ReadLine();
<span class="hljs-comment">// 判断 数字 字母 _</span>
<span class="hljs-comment">// 数字开头</span>
<span class="hljs-built_in">bool</span> isRight = <span class="hljs-literal">true</span>;
<span class="hljs-keyword">for</span> (<span class="hljs-built_in">int</span> i = <span class="hljs-number">0</span>; i &lt; str.Length; i++) {
  <span class="hljs-keyword">if</span> ((str[i] &lt; <span class="hljs-string">&#x27;0&#x27;</span> || str[i] &gt; <span class="hljs-string">&#x27;9&#x27;</span>) &amp;&amp; <span class="hljs-comment">//不是数字</span>
    (str[i] &lt; <span class="hljs-string">&#x27;a&#x27;</span> || str[i] &gt; <span class="hljs-string">&#x27;z&#x27;</span>) &amp;&amp; <span class="hljs-comment">//不是小写字母</span>
    (str[i] &lt; <span class="hljs-string">&#x27;A&#x27;</span> || str[i] &gt; <span class="hljs-string">&#x27;Z&#x27;</span>) &amp;&amp; <span class="hljs-comment">//不是大写字母</span>
    (str[i] != <span class="hljs-string">&#x27;_&#x27;</span>)) <span class="hljs-comment">//不是下划线</span>
  {
    isRight = <span class="hljs-literal">false</span>;
    <span class="hljs-keyword">break</span>;
  }
}
<span class="hljs-keyword">if</span> (str[<span class="hljs-number">0</span>] &gt;= <span class="hljs-string">&#x27;0&#x27;</span> &amp;&amp; str[<span class="hljs-number">0</span>] &lt;= <span class="hljs-string">&#x27;9&#x27;</span>) <span class="hljs-comment">//不是数字开头</span>
{
  isRight = <span class="hljs-literal">false</span>;
}
<span class="hljs-keyword">if</span> (isRight) {
  Console.WriteLine(<span class="hljs-string">&quot;是合法标识符&quot;</span>);
} <span class="hljs-keyword">else</span> {
  Console.WriteLine(<span class="hljs-string">&quot;不是合法标识符&quot;</span>);
}
</code></pre>
<p>✋编程题<br>
“回⽂串”是⼀个正读和反读都⼀样的字符串，⽐如“level”或者“noon”等等就是回⽂串。请写⼀个程序判断读⼊的字符串是否是“回⽂”。</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code> <span class="hljs-built_in">string</span> str = Console.ReadLine();
 <span class="hljs-comment">// 8  8/2=4  0-3</span>
 <span class="hljs-comment">// 7  7/2=3  0-2</span>
 <span class="hljs-comment">// 7</span>
 <span class="hljs-comment">// 0 - 6  1-5  2-4    i ~ length-1-i</span>
 <span class="hljs-built_in">bool</span> isHui = <span class="hljs-literal">true</span>;
 <span class="hljs-keyword">for</span> (<span class="hljs-built_in">int</span> i = <span class="hljs-number">0</span>; i &lt; str.Length / <span class="hljs-number">2</span>; i++) {
   <span class="hljs-comment">// i  length-1-i</span>
   <span class="hljs-keyword">if</span> (str[i] != str[str.Length - <span class="hljs-number">1</span> - i]) {
     isHui = <span class="hljs-literal">false</span>;
     <span class="hljs-keyword">break</span>;
   }
 }
 <span class="hljs-keyword">if</span> (isHui) {
   Console.WriteLine(<span class="hljs-string">&quot;是回文串&quot;</span>);
 } <span class="hljs-keyword">else</span> {
   Console.WriteLine(<span class="hljs-string">&quot;不是回文串&quot;</span>);
 }
</code></pre>
<p>✋编程题<br>
最近夏⽇炎热，令张三⾮常的不爽。最近张三开始研究天⽓的变化。历经千⾟万苦，他收集了连续N（1&lt;N&lt;1000000）天的最⾼⽓温数据。现在他想知道⽓温⼀直上升的最⻓连续天数。<br>
样例输⼊：<br>
1 3 5 2 3 5 7 8 6 9<br>
样例输出<br>
5</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-built_in">string</span> str = Console.ReadLine();
<span class="hljs-built_in">string</span>[] strArray = str.Split(<span class="hljs-string">&quot; &quot;</span>);
<span class="hljs-built_in">int</span>[] intArray = <span class="hljs-keyword">new</span> <span class="hljs-built_in">int</span>[strArray.Length];
<span class="hljs-keyword">for</span> (<span class="hljs-built_in">int</span> i = <span class="hljs-number">0</span>; i &lt; strArray.Length; i++) {
  <span class="hljs-built_in">int</span> number = Convert.ToInt32(strArray[i]);
  intArray[i] = number;
} <span class="hljs-comment">//获得一组数字</span>

<span class="hljs-built_in">int</span> maxDays = <span class="hljs-number">1</span>; <span class="hljs-comment">//记录最高 气温连续升高的天数</span>
<span class="hljs-built_in">int</span> count = <span class="hljs-number">1</span>; <span class="hljs-comment">//记录气温连续升高的天数</span>
<span class="hljs-keyword">for</span> (<span class="hljs-built_in">int</span> i = <span class="hljs-number">0</span>; i &lt; intArray.Length - <span class="hljs-number">1</span>; i++) {
  <span class="hljs-keyword">if</span> (intArray[i] &lt; intArray[i + <span class="hljs-number">1</span>]) {
    count++;
  } <span class="hljs-keyword">else</span> {
    <span class="hljs-keyword">if</span> (count &gt; maxDays) {
      maxDays = count;
    }
    count = <span class="hljs-number">1</span>;
  }
}
<span class="hljs-keyword">if</span> (count &gt; maxDays) {
  maxDays = count;
}
Console.WriteLine(<span class="hljs-string">&quot;气温连续升高的最长天数&quot;</span> + maxDays);
</code></pre>
<p>✋编程题<br>
输⼊是个不相等的正整数，输出这10个正整数中的第⼆⼤的数。<br>
样例输⼊<br>
3 5 7 2 9 5 3 10 3 8<br>
样例输出<br>
9</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-built_in">string</span> str = Console.ReadLine();
<span class="hljs-built_in">string</span>[] strArray = str.Split(<span class="hljs-string">&quot; &quot;</span>);
<span class="hljs-built_in">int</span>[] intArray = <span class="hljs-keyword">new</span> <span class="hljs-built_in">int</span>[strArray.Length];
<span class="hljs-keyword">for</span> (<span class="hljs-built_in">int</span> i = <span class="hljs-number">0</span>; i &lt; strArray.Length; i++) {
  <span class="hljs-built_in">int</span> number = Convert.ToInt32(strArray[i]);
  intArray[i] = number;
} <span class="hljs-comment">//获得一组数字</span>

<span class="hljs-built_in">int</span> max1 = <span class="hljs-number">0</span>;
<span class="hljs-built_in">int</span> max2 = <span class="hljs-number">0</span>;
<span class="hljs-keyword">for</span> (<span class="hljs-built_in">int</span> i = <span class="hljs-number">0</span>; i &lt; intArray.Length; i++) {
  <span class="hljs-keyword">if</span> (intArray[i] &gt; max1) {
    max2 = max1;
    max1 = intArray[i];
  } <span class="hljs-keyword">else</span> {
    <span class="hljs-keyword">if</span> (intArray[i] &gt; max2) {
      max2 = intArray[i];
    }
  }
}
Console.WriteLine(<span class="hljs-string">&quot;第一大值是&quot;</span> + max1 + <span class="hljs-string">&quot; 第二大值是&quot;</span> + max2);
</code></pre>
<p>✋编程题<br>
描述给定⼀个只包含⼩写字⺟的字符串，请你找出第⼀个仅出现⼀次的字符。如果没有，输出<br>
no。</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code>方法<span class="hljs-number">1</span>：
<span class="hljs-built_in">string</span> str = Console.ReadLine();
<span class="hljs-built_in">char</span> temp = <span class="hljs-string">&#x27; &#x27;</span>; <span class="hljs-comment">// 20x20</span>
<span class="hljs-keyword">for</span> (<span class="hljs-built_in">int</span> i = <span class="hljs-number">0</span>; i &lt; str.Length; i++) {
  <span class="hljs-built_in">int</span> count = <span class="hljs-number">0</span>;
  <span class="hljs-keyword">for</span> (<span class="hljs-built_in">int</span> j = <span class="hljs-number">0</span>; j &lt; str.Length; j++) {
    <span class="hljs-keyword">if</span> (str[j] == str[i]) {
      count++;
      <span class="hljs-keyword">if</span> (count == <span class="hljs-number">2</span>) {
        <span class="hljs-keyword">break</span>;
      }
    }
  }
  <span class="hljs-keyword">if</span> (count == <span class="hljs-number">1</span>) {
    temp = str[i];
    <span class="hljs-keyword">break</span>;
  }
}
<span class="hljs-keyword">if</span> (temp == <span class="hljs-string">&#x27; &#x27;</span>) {
  Console.WriteLine(<span class="hljs-string">&quot;no&quot;</span>);
} <span class="hljs-keyword">else</span> {
  Console.WriteLine(temp);
}
</code></pre>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code>方法<span class="hljs-number">2</span>：
<span class="hljs-built_in">string</span> str = Console.ReadLine();
<span class="hljs-built_in">int</span>[] countArray = <span class="hljs-keyword">new</span> <span class="hljs-built_in">int</span>[<span class="hljs-number">26</span>]; <span class="hljs-comment">//计数，保存每个字符出现的个数</span>
<span class="hljs-keyword">for</span> (<span class="hljs-built_in">int</span> i = <span class="hljs-number">0</span>; i &lt; str.Length; i++) {
  countArray[str[i] - <span class="hljs-string">&#x27;a&#x27;</span>] = countArray[str[i] - <span class="hljs-string">&#x27;a&#x27;</span>] + <span class="hljs-number">1</span>;
}

<span class="hljs-built_in">bool</span> isFind = <span class="hljs-literal">false</span>; <span class="hljs-comment">//是否找到</span>
<span class="hljs-built_in">char</span> c = <span class="hljs-string">&#x27; &#x27;</span>;
<span class="hljs-keyword">for</span> (<span class="hljs-built_in">int</span> i = <span class="hljs-number">0</span>; i &lt; str.Length; i++) {
  <span class="hljs-keyword">if</span> (countArray[str[i] - <span class="hljs-string">&#x27;a&#x27;</span>] == <span class="hljs-number">1</span>) {
    isFind = <span class="hljs-literal">true</span>;
    c = str[i];
    <span class="hljs-keyword">break</span>;
  }
}
<span class="hljs-keyword">if</span> (isFind == <span class="hljs-literal">false</span>) {
  Console.WriteLine(<span class="hljs-string">&quot;no&quot;</span>);
} <span class="hljs-keyword">else</span> {
  Console.WriteLine(c);
}
</code></pre>
<p>✋编程题<br>
⼤⼩写字⺟互换<br>
把⼀个字符串中所有出现的⼤写字⺟都替换成⼩写字⺟，同时把⼩写字⺟替换成⼤写字⺟。</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-built_in">string</span> str = Console.ReadLine();
<span class="hljs-comment">//a-z  A-Z</span>
<span class="hljs-built_in">int</span> cha = <span class="hljs-string">&#x27;A&#x27;</span> - <span class="hljs-string">&#x27;a&#x27;</span>;
<span class="hljs-keyword">for</span> (<span class="hljs-built_in">int</span> i = <span class="hljs-number">0</span>; i &lt; str.Length; i++) {
  <span class="hljs-keyword">if</span> (str[i] &gt;= <span class="hljs-string">&#x27;a&#x27;</span> &amp;&amp; str[i] &lt;= <span class="hljs-string">&#x27;z&#x27;</span>) {
    <span class="hljs-built_in">char</span> c = (<span class="hljs-built_in">char</span>)(str[i] + cha);
    Console.Write(c);
  } <span class="hljs-keyword">else</span> <span class="hljs-keyword">if</span> (str[i] &gt;= <span class="hljs-string">&#x27;A&#x27;</span> &amp;&amp; str[i] &lt;= <span class="hljs-string">&#x27;Z&#x27;</span>) {
    <span class="hljs-built_in">char</span> c = (<span class="hljs-built_in">char</span>)(str[i] - cha);
    Console.Write(c);
  } <span class="hljs-keyword">else</span> {
    Console.Write(str[i]);
  }
}
</code></pre>
<p>✋在⼀个数组中查找⼀个给定的值，输出第⼀次出现的位置（从1开始）<br>
输⼊第⼀⾏是数组中的元素<br>
第⼆⾏是要查找的数<br>
输出输出第⼀次出现的位置<br>
输⼊<br>
3 8 23 45 2 5<br>
23<br>
输出3</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-built_in">string</span> str = Console.ReadLine();
<span class="hljs-built_in">string</span>[] strArray = str.Split(<span class="hljs-string">&quot; &quot;</span>);
<span class="hljs-built_in">int</span>[] intArray = <span class="hljs-keyword">new</span> <span class="hljs-built_in">int</span>[strArray.Length];
<span class="hljs-keyword">for</span> (<span class="hljs-built_in">int</span> i = <span class="hljs-number">0</span>; i &lt; strArray.Length; i++) {
  <span class="hljs-built_in">int</span> n = Convert.ToInt32(strArray[i]);
  intArray[i] = n;
} <span class="hljs-comment">//得到一组数字</span>

<span class="hljs-built_in">int</span> number = Convert.ToInt32(Console.ReadLine());
<span class="hljs-built_in">int</span> location = <span class="hljs-number">-1</span>;
<span class="hljs-keyword">for</span> (<span class="hljs-built_in">int</span> i = <span class="hljs-number">0</span>; i &lt; intArray.Length; i++) {
  <span class="hljs-keyword">if</span> (number == intArray[i]) {
    location = i + <span class="hljs-number">1</span>;
    <span class="hljs-keyword">break</span>;
  }
}
Console.WriteLine(location);
</code></pre>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/自我提升">自我提升</category>
        </item>
        <item>
            <title><![CDATA[字符串]]></title>
            <link>http://blog.wilsonzy.cn/post/42</link>
            <guid>http://blog.wilsonzy.cn/post/42</guid>
            <pubDate>Fri, 30 May 2025 09:55:44 GMT</pubDate>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <!-- more -->  
<p><strong>字符串</strong></p>
<p>字符串的处理是编程⾥⾯的重要⽅⾯之⼀，因为很多数据都是字符串。<br>
⽐如登录的时候邮箱 ⽤户名 密码 验证码等都是字符串。<br>
字符串有字符组成，每个字符在底层是⼀个数字存储的。每个字符对应什么数字。</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-built_in">string</span> name = <span class="hljs-string">&quot;Micheal&quot;</span>;
name = <span class="hljs-string">&quot;Micheal&quot;</span> + <span class="hljs-string">&quot; 123&quot;</span>;
name = <span class="hljs-string">&quot;&quot;</span> + <span class="hljs-number">45</span>;<span class="hljs-comment">// &quot;45&quot;</span>
</code></pre>
<p>ASCII码<br>
https://baike.baidu.com/item/ASCII/309296?fr=aladdin<br>
字符串是⼀串字符，在程序中，⼀个字符串可以当做⼀个字符数组。</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-built_in">string</span> name = <span class="hljs-string">&quot;Micheal&quot;</span>;
name = <span class="hljs-string">&quot;Micheal&quot;</span> + <span class="hljs-string">&quot; 123&quot;</span>;
name = <span class="hljs-string">&quot;&quot;</span> + <span class="hljs-number">45</span>; <span class="hljs-comment">// &quot;45&quot;</span>
Console.Write(name.Length); <span class="hljs-comment">// str.length取得字符⻓度 </span>
Console.Write(name[<span class="hljs-number">3</span>]);
<span class="hljs-keyword">for</span> (<span class="hljs-built_in">int</span> i = <span class="hljs-number">0</span>; i &lt; name.Length; i++) {
  Console.WriteLine(name[i]); <span class="hljs-comment">//str[i]访问某个字符元素  </span>
}
</code></pre>
<p>✋编程题<br>
如果倒序遍历⼀个字符串中的每⼀个字符。</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-keyword">for</span> (<span class="hljs-built_in">int</span> i = name.Length - <span class="hljs-number">1</span>; i &gt;= <span class="hljs-number">0</span>; i--) {
  Console.WriteLine(name[i]);
}
</code></pre>
<p>关于字符串操作的常⽤⽅法：<br>
1、ToLower() ToUpper()<br>
2、Trim() TrimStart() TrimEnd()<br>
3、Split()</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-built_in">string</span> name = <span class="hljs-string">&quot;xiaoming,zhangsan,xiaohong&quot;</span>;
name.methodName();
<span class="hljs-built_in">string</span> str2 = name.ToLower();
Console.WriteLine(name + <span class="hljs-string">&quot;-&quot;</span> + str2); <span class="hljs-comment">//字母大写变小写</span>

<span class="hljs-built_in">string</span> str3 = name.ToUpper();
Console.WriteLine(name + <span class="hljs-string">&quot;-&quot;</span> + str3); <span class="hljs-comment">//字母小写变大写</span>

<span class="hljs-built_in">string</span> str4 = name.Trim();
Console.WriteLine(name + <span class="hljs-string">&quot;-&quot;</span> + str4); <span class="hljs-comment">//去除字符串中间空格</span>

<span class="hljs-built_in">string</span> str5 = name.TrimStart();
Console.WriteLine(name + <span class="hljs-string">&quot;-&quot;</span> + str5 + <span class="hljs-string">&quot;|&quot;</span>); <span class="hljs-comment">//去除字符串首部空格</span>

<span class="hljs-built_in">string</span> str6 = name.TrimEnd();
Console.WriteLine(name + <span class="hljs-string">&quot;-&quot;</span> + str6 + <span class="hljs-string">&quot;|&quot;</span>); <span class="hljs-comment">//去除字符串尾部空格</span>

<span class="hljs-built_in">string</span>[] strArray = name.Split(<span class="hljs-string">&quot;,&quot;</span>); <span class="hljs-comment">//分割</span>
<span class="hljs-keyword">foreach</span>(<span class="hljs-built_in">string</span> str <span class="hljs-keyword">in</span> strArray) {
  Console.WriteLine(str);
}
</code></pre>
<p>✋编程题<br>
3个可乐瓶可以换⼀瓶可乐，现在有364瓶可乐，问⼀共可以喝多少瓶可乐，剩下⼏个空瓶。</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-built_in">int</span> pingNumber = <span class="hljs-number">364</span>;
<span class="hljs-built_in">int</span> heNumber = <span class="hljs-number">364</span>;
<span class="hljs-keyword">while</span> (pingNumber &gt; <span class="hljs-number">2</span>) {
  heNumber += pingNumber / <span class="hljs-number">3</span>;
  pingNumber = (pingNumber / <span class="hljs-number">3</span>) + (pingNumber % <span class="hljs-number">3</span>);
}
Console.Write(<span class="hljs-string">&quot;一共可以喝&quot;</span> + heNumber + <span class="hljs-string">&quot;，剩下&quot;</span> + pingNumber);
</code></pre>
<p>✋编程题<br>
编写⼀个应⽤程序⽤来输⼊的字符串进⾏加密，对于字⺟字符串加密规则如下：<br>
‘a’→’d’ ‘b’→’e’ ‘w’→’z’ …… ‘x’→’a’ ‘y’→’b’ ‘z’→’c’‘A’→’D’ ‘B’→’E’ ‘W’→’Z’ …… ‘X’→’A’ ‘Y’→’B’‘Z’→’C’?对于其他字符，不进⾏加密。</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code>String str = Console.ReadLine();
<span class="hljs-built_in">char</span>[] strArray = str.ToCharArray();
<span class="hljs-keyword">for</span> (<span class="hljs-built_in">int</span> i = <span class="hljs-number">0</span>; i &lt; strArray.Length; i++) {
  <span class="hljs-keyword">if</span> ((strArray[i] &gt;= <span class="hljs-string">&#x27;a&#x27;</span> &amp;&amp; strArray[i] &lt;= <span class="hljs-string">&#x27;z&#x27;</span>) || (strArray[i] &gt;= <span class="hljs-string">&#x27;A&#x27;</span> &amp;&amp; strArray[i] &lt;= <span class="hljs-string">&#x27;Z&#x27;</span>)) {
    strArray[i] = (<span class="hljs-built_in">char</span>)(strArray[i] + <span class="hljs-number">3</span>); <span class="hljs-comment">// &#x27;a&#x27;+3    97+3  = 100  = &#x27;d&#x27;</span>
    <span class="hljs-keyword">if</span> (strArray[i] &gt; <span class="hljs-string">&#x27;z&#x27;</span> &amp;&amp; strArray[i] &lt; <span class="hljs-string">&#x27;z&#x27;</span> + <span class="hljs-number">4</span>) <span class="hljs-comment">//xyz</span>
    {
      strArray[i] = (<span class="hljs-built_in">char</span>)(strArray[i] - <span class="hljs-number">26</span>);
    }
    <span class="hljs-keyword">if</span> (strArray[i] &gt; <span class="hljs-string">&#x27;Z&#x27;</span> &amp;&amp; strArray[i] &lt; <span class="hljs-string">&#x27;Z&#x27;</span> + <span class="hljs-number">4</span>) <span class="hljs-comment">//XYZ</span>
    {
      strArray[i] = (<span class="hljs-built_in">char</span>)(strArray[i] - <span class="hljs-number">26</span>);
    }
  }
}

<span class="hljs-keyword">foreach</span>(<span class="hljs-built_in">char</span> temp <span class="hljs-keyword">in</span> strArray) {
  Console.Write(temp);
}
</code></pre>
<p>✋编程题<br>
编写⼀个控制台程序，要求⽤户输⼊⼀组数字⽤空格间隔，对⽤户输⼊的数字从⼩到⼤输出。<br>
(Array.Sort⽅法和冒泡排序)<br>
排序演⽰⽹站：https://visualgo.net/en/sorting?slide=1</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-built_in">string</span> str = Console.ReadLine();
<span class="hljs-built_in">string</span>[] strArray = str.Split(<span class="hljs-string">&quot; &quot;</span>);
<span class="hljs-built_in">int</span>[] intArray = <span class="hljs-keyword">new</span> <span class="hljs-built_in">int</span>[strArray.Length];
<span class="hljs-keyword">for</span> (<span class="hljs-built_in">int</span> i = <span class="hljs-number">0</span>; i &lt; strArray.Length; i++) {
  <span class="hljs-built_in">int</span> number = Convert.ToInt32(strArray[i]);
  intArray[i] = number;
}
<span class="hljs-comment">//得到一个有序的数组</span>

Array.Sort(intArray);
<span class="hljs-keyword">foreach</span>(<span class="hljs-built_in">int</span> temp <span class="hljs-keyword">in</span> intArray) {
  Console.Write(temp + <span class="hljs-string">&quot; &quot;</span>);
}

拓展：
<span class="hljs-built_in">string</span> str = Console.ReadLine();
<span class="hljs-built_in">string</span>[] strArray = str.Split(<span class="hljs-string">&quot; &quot;</span>);
<span class="hljs-built_in">int</span>[] intArray = <span class="hljs-keyword">new</span> <span class="hljs-built_in">int</span>[strArray.Length];
<span class="hljs-keyword">for</span> (<span class="hljs-built_in">int</span> i = <span class="hljs-number">0</span>; i &lt; strArray.Length; i++) {
  <span class="hljs-built_in">int</span> number = Convert.ToInt32(strArray[i]);
  intArray[i] = number;
}
<span class="hljs-comment">//得到一个有序的数组</span>
<span class="hljs-comment">//19-19-18</span>
<span class="hljs-keyword">for</span> (<span class="hljs-built_in">int</span> j = <span class="hljs-number">0</span>; j &lt; intArray.Length - <span class="hljs-number">1</span>; j++) <span class="hljs-comment">//进行length-1轮比较</span>
{
  <span class="hljs-comment">//进行比较 j=0 length-1   j=1 length-1-1   j=2 length-1-2</span>
  <span class="hljs-built_in">bool</span> isChange = <span class="hljs-literal">false</span>; <span class="hljs-comment">//需要一个变量标志，记录当前轮次比较是否有发生交换</span>
  <span class="hljs-keyword">for</span> (<span class="hljs-built_in">int</span> i = <span class="hljs-number">0</span>; i &lt; intArray.Length - <span class="hljs-number">1</span> - j; i++) {
    <span class="hljs-keyword">if</span> (intArray[i] &gt; intArray[i + <span class="hljs-number">1</span>]) <span class="hljs-comment">//如果左边大于右边 ，就交换</span>
    {
      <span class="hljs-built_in">int</span> temp = intArray[i];
      intArray[i] = intArray[i + <span class="hljs-number">1</span>];
      intArray[i + <span class="hljs-number">1</span>] = temp;
      isChange = <span class="hljs-literal">true</span>;
    }
  }
  <span class="hljs-keyword">if</span> (isChange == <span class="hljs-literal">false</span>) {
    <span class="hljs-keyword">break</span>;
  }
}

<span class="hljs-keyword">foreach</span>(<span class="hljs-built_in">int</span> temp <span class="hljs-keyword">in</span> intArray) {
  Console.Write(temp + <span class="hljs-string">&quot; &quot;</span>);
}
</code></pre>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/自我提升">自我提升</category>
        </item>
        <item>
            <title><![CDATA[数组]]></title>
            <link>http://blog.wilsonzy.cn/post/41</link>
            <guid>http://blog.wilsonzy.cn/post/41</guid>
            <pubDate>Fri, 30 May 2025 09:58:03 GMT</pubDate>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <!-- more -->
<p>怎么存储⼀个⼈的年龄？</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-built_in">int</span> age = <span class="hljs-number">30</span>;
</code></pre>
<p>怎么存储10个⼈的年龄？</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-built_in">int</span> age1 = <span class="hljs-number">12</span>;
<span class="hljs-built_in">int</span> age2 = <span class="hljs-number">12</span>;
<span class="hljs-built_in">int</span> age3 = <span class="hljs-number">12</span>;
<span class="hljs-built_in">int</span> age4 = <span class="hljs-number">12</span>;
<span class="hljs-built_in">int</span> age5 = <span class="hljs-number">12</span>;
<span class="hljs-built_in">int</span> age6 = <span class="hljs-number">12</span>;
<span class="hljs-built_in">int</span> age7 = <span class="hljs-number">12</span>;
<span class="hljs-built_in">int</span> age8 = <span class="hljs-number">12</span>;
<span class="hljs-built_in">int</span> age9 = <span class="hljs-number">12</span>;
<span class="hljs-built_in">int</span> age10 = <span class="hljs-number">12</span>;
</code></pre>
<p>:::tip{title=&quot;解决办法？&quot;}<br>
1、定义10个变量<br>
2、使⽤⼀个数组<br>
:::</p>
<p>:::note{title=&quot;注&quot;}<br>
数组⽤来存储同种类型的⼤量数据。<br>
:::</p>
<p><strong>数组的声明</strong><br>
类型[] 数组名;<br>
数组名遵守变量名命名规则</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-built_in">double</span>[] temp1;
<span class="hljs-built_in">char</span>[] temp2;
<span class="hljs-built_in">string</span>[] temp3;
</code></pre>
<p><strong>数组的赋值</strong></p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-built_in">int</span>[] ages={<span class="hljs-number">34</span>,<span class="hljs-number">2</span>,<span class="hljs-number">3</span>,<span class="hljs-number">2</span>,<span class="hljs-number">2</span>,<span class="hljs-number">45</span>}  
ages=<span class="hljs-keyword">new</span> <span class="hljs-built_in">int</span>[<span class="hljs-number">10</span>]  
ages=<span class="hljs-keyword">new</span> <span class="hljs-built_in">int</span>[]{<span class="hljs-number">3</span>,<span class="hljs-number">4</span>,<span class="hljs-number">12</span>,<span class="hljs-number">312</span>,<span class="hljs-number">321</span>}  
ages=<span class="hljs-keyword">new</span> <span class="hljs-built_in">int</span>[<span class="hljs-number">10</span>]{<span class="hljs-number">3</span>,<span class="hljs-number">4</span>,<span class="hljs-number">12</span>,<span class="hljs-number">312</span>,<span class="hljs-number">321</span>} <span class="hljs-comment">//⻓度和个数要对应 </span>
</code></pre>
<p><strong>数组的使⽤</strong>（修改和读取）<br>
通过索引（下标），索引从0开始。<br>
可以把数组想象⻋⼀个⽕⻋，⼀个⻋厢⾥⾯存储的就是数据元素。<br>
age[index]</p>
<p><img src="/static/img/e2da963ff3c0dea8994407588ba316fe.image.png" alt="image.png"></p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code>修改：
<span class="hljs-built_in">int</span>[] ages = { <span class="hljs-number">34</span>, <span class="hljs-number">12</span>, <span class="hljs-number">56</span>, <span class="hljs-number">67</span>, <span class="hljs-number">2</span>, <span class="hljs-number">3</span>, <span class="hljs-number">4</span>, <span class="hljs-number">6</span>, <span class="hljs-number">6</span>, <span class="hljs-number">2</span> };
ages[<span class="hljs-number">10</span>] = <span class="hljs-number">20</span>;
Console.Write(ages[<span class="hljs-number">10</span>]);    <span class="hljs-number">2</span> → <span class="hljs-number">20</span>
            
    读取：       
  <span class="hljs-comment">// 声明int类型的数组</span>
<span class="hljs-built_in">int</span>[] ages = { <span class="hljs-number">34</span>, <span class="hljs-number">12</span>, <span class="hljs-number">56</span>, <span class="hljs-number">67</span>, <span class="hljs-number">2</span>, <span class="hljs-number">3</span>, <span class="hljs-number">4</span>, <span class="hljs-number">6</span>, <span class="hljs-number">6</span>, <span class="hljs-number">2</span> };
<span class="hljs-comment">// 数组的数据有下标 0  1   2  3   4  5  6  7  8  9（索引） </span>
<span class="hljs-comment">// 数组名[索引]</span>
Console.WriteLine(ages[<span class="hljs-number">7</span>]);   = <span class="hljs-number">6</span>
</code></pre>
<p>:::warning{title=&quot;注意&quot;}<br>
1、不能访问索引不存在的值<br>
:::</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code>ages = <span class="hljs-keyword">new</span> <span class="hljs-built_in">int</span>[<span class="hljs-number">4</span>] { <span class="hljs-number">12</span>, <span class="hljs-number">1</span>, <span class="hljs-number">2</span>, <span class="hljs-number">4</span> };
Console.Write(ages[<span class="hljs-number">7</span>]);
</code></pre>
<p>❓练习<br>
1、声明⼀个int的数组，数组⼤⼩为9<br>
2、声明⼀个char数组，数组⻓度为20<br>
3、声明⼀个float数组，数组⻓度为5<br>
4、声明⼀个字符串数组，数组⻓度为8</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-built_in">int</span>[] intArray = <span class="hljs-keyword">new</span> <span class="hljs-built_in">int</span>[<span class="hljs-number">9</span>];<span class="hljs-comment">//0</span>
<span class="hljs-built_in">char</span>[] charArray = <span class="hljs-keyword">new</span> <span class="hljs-built_in">char</span>[<span class="hljs-number">20</span>];
<span class="hljs-built_in">float</span>[] floatArray = <span class="hljs-keyword">new</span> <span class="hljs-built_in">float</span>[<span class="hljs-number">5</span>];
<span class="hljs-built_in">string</span>[] stringArray = <span class="hljs-keyword">new</span> <span class="hljs-built_in">string</span>[<span class="hljs-number">8</span>];
</code></pre>
<p>✋判断对错</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-number">1</span>:
<span class="hljs-built_in">int</span>[] ar;
ar={<span class="hljs-number">1</span>,<span class="hljs-number">2</span>,<span class="hljs-number">3</span>};        X  赋值需在同一行
<span class="hljs-number">2</span>:
<span class="hljs-built_in">int</span>[] ar = {<span class="hljs-number">2</span>,<span class="hljs-number">3</span>,<span class="hljs-number">4</span>};     V  
<span class="hljs-number">3</span>:
<span class="hljs-built_in">int</span>[] ar = <span class="hljs-keyword">new</span> <span class="hljs-built_in">int</span>[<span class="hljs-number">4</span>]{<span class="hljs-number">1</span>,<span class="hljs-number">2</span>,<span class="hljs-number">3</span>}     X   不能访问索引不存在的值
</code></pre>
<p>❓怎么遍历⼀个数组？（正序和倒序）<br>
<strong>遍历就是取得数组中的每⼀个值</strong></p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code>            <span class="hljs-comment">//0-9</span>
<span class="hljs-built_in">int</span>[] ages = { <span class="hljs-number">34</span>, <span class="hljs-number">12</span>, <span class="hljs-number">56</span>, <span class="hljs-number">67</span>, <span class="hljs-number">2</span>, <span class="hljs-number">3</span>, <span class="hljs-number">4</span>, <span class="hljs-number">6</span>, <span class="hljs-number">6</span>, <span class="hljs-number">2</span> };
Console.Write(ages.Length);
<span class="hljs-keyword">for</span>(<span class="hljs-built_in">int</span> i = <span class="hljs-number">0</span>; i &lt; ages.Length; i++)
  {
    Console.Write(ages[i] + <span class="hljs-string">&quot; &quot;</span>);
  }
</code></pre>
<p>遍历索引 - 通过索引访问元素</p>
<ul>
<li>通过for和while遍历⼀个数组</li>
</ul>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code> <span class="hljs-built_in">int</span>[] ages = { <span class="hljs-number">34</span>, <span class="hljs-number">12</span>, <span class="hljs-number">56</span>, <span class="hljs-number">67</span>, <span class="hljs-number">2</span>, <span class="hljs-number">3</span>, <span class="hljs-number">4</span>, <span class="hljs-number">6</span>, <span class="hljs-number">6</span>, <span class="hljs-number">2</span> };
 <span class="hljs-keyword">for</span> (<span class="hljs-built_in">int</span> i = <span class="hljs-number">0</span>; i &lt; <span class="hljs-number">10</span>; i++) <span class="hljs-comment">//正序</span>
 {
   Console.Write(ages[i] + <span class="hljs-string">&quot; &quot;</span>);
 }

 <span class="hljs-keyword">for</span> (<span class="hljs-built_in">int</span> i = <span class="hljs-number">9</span>; i &gt;= <span class="hljs-number">0</span>; i--) <span class="hljs-comment">//倒序</span>
 {
   Console.Write(ages[i] + <span class="hljs-string">&quot; &quot;</span>);
 }
 <span class="hljs-comment">//34 12 56 67 2 3 4 6 6 2 </span>
 <span class="hljs-comment">//2 6 6 4 3 2 67 56 12 34 </span>
</code></pre>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-built_in">int</span>[] ages = { <span class="hljs-number">34</span>, <span class="hljs-number">12</span>, <span class="hljs-number">56</span>, <span class="hljs-number">67</span>, <span class="hljs-number">2</span>, <span class="hljs-number">3</span>, <span class="hljs-number">4</span>, <span class="hljs-number">6</span>, <span class="hljs-number">6</span>, <span class="hljs-number">2</span> };
<span class="hljs-built_in">int</span> i = <span class="hljs-number">0</span>;
<span class="hljs-keyword">while</span> (i &lt; <span class="hljs-number">10</span>) {
  Console.Write(ages[i] + <span class="hljs-string">&quot; &quot;</span>);
  i++;
}
<span class="hljs-comment">//34 12 56 67 2 3 4 6 6 2 </span>
</code></pre>
<ul>
<li>通过foreach遍历⼀个数组  （<strong>只能正序</strong>）</li>
</ul>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-built_in">int</span>[] ages = { <span class="hljs-number">34</span>, <span class="hljs-number">12</span>, <span class="hljs-number">56</span>, <span class="hljs-number">67</span>, <span class="hljs-number">2</span>, <span class="hljs-number">3</span>, <span class="hljs-number">4</span>, <span class="hljs-number">6</span>, <span class="hljs-number">6</span>, <span class="hljs-number">2</span> };
 <span class="hljs-keyword">foreach</span>(<span class="hljs-built_in">int</span> temp <span class="hljs-keyword">in</span> ages){
  Console.Write(temp + <span class="hljs-string">&quot; &quot;</span>);
  }
  <span class="hljs-comment">//34 12 56 67 2 3 4 6 6 2 </span>

</code></pre>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/自我提升">自我提升</category>
        </item>
        <item>
            <title><![CDATA[数据存储]]></title>
            <link>http://blog.wilsonzy.cn/post/40</link>
            <guid>http://blog.wilsonzy.cn/post/40</guid>
            <pubDate>Sun, 30 Jun 2024 06:00:42 GMT</pubDate>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <!-- more -->
<p>计算机中的数据怎么存储的？<br>
每⼀位，只能存储0和1，所以计算机中所有的数据都是使⽤⼆进制来计算的。<br>
⼆进制是计算机使⽤的计算数制，我们⼈类平时使⽤⼗进制，是因为我们是以10为单位，⽅便我们计量，我们双⼿就是正好⼗个⼿指头</p>
<p>使⽤⼆进制存储的</p>
<p>1、什么是⼆进制</p>
<p><strong>⼗进制</strong></p>
<ul>
<li>十进制是Decimal，简写为D</li>
<li>由（0-9）组成</li>
</ul>
<p><strong>⼆进制</strong></p>
<ul>
<li>二进制是Binary，简写为B</li>
<li>由（0-1）组成</li>
</ul>
<p><strong>⼋进制</strong></p>
<ul>
<li>八进制是Octal，简写为O</li>
<li>由（0-7）组成</li>
</ul>
<p><strong>⼗六进制</strong></p>
<ul>
<li>十六进制为Hexadecimal，简写为H</li>
<li>表示方式为0x开头</li>
<li>由（0-9）和（A-F)组成</li>
</ul>
<p>（⼆进制和⼗六进制）<br>
⼆进制是数据存储的基础，内存地址⼀般使⽤⼗六进制表⽰。</p>
<p>例如：</p>
<ul>
<li>（110010011111）2 代表二进制数 ；</li>
<li>（6137）8 代表八进制数</li>
<li>（3AB）H 代表十六进制数；</li>
<li>（2654）O 代表八进制数</li>
</ul>
<p><strong>二进制 → 十进制</strong><br>
　　方法：二进制数从低位到高位（即从右往左）计算，第0位的权值是2的0次方，第1位的权值是2的1次方，第2位的权值是2的2次方，依次递增下去，把最后的结果相加的值就是十进制的值了。</p>
<p>:::note{title=&quot;将二进制的(10010110)B转换为十进制&quot;}</p>
<ol>
<li>第0位 0 x 2^0 = 0；</li>
<li>第1位 1 x 2^1 = 2；</li>
<li>第2位 1 x 2^2 = 4；</li>
<li>第3位 0 x 2^3 = 0；</li>
<li>第4位 1 x 2^4 = 16；</li>
<li>第5位 0 x 2^5 = 0；</li>
<li>第6位 0 x 2^6 = 0；</li>
<li>第7位 1 x 2^7 = 128；</li>
<li>读数，把结果值相加，0+2+4+0+16+0+0+128=150，即(10010110)B=(150)D。<br>
:::</li>
</ol>
<p><img src="/static/img/4ae9555393b4014b02a4804d75e3502f.image.png" alt="image.png"></p>
<p><strong>八进制 → 十进制</strong></p>
<p>方法：八进制数从低位到高位（即从右往左）计算，第0位的权值是8的0次方，第1位的权值是8的1次方，第2位的权值是8的2次方，依次递增下去，把最后的结果相加的值就是十进制的值了。</p>
<p><strong>八进制就是逢8进1</strong>，八进制数采用 0～7这八数来表达一个数。</p>
<p>:::note{title=&quot;八进制的(26)O转换为十进制&quot;}</p>
<ol>
<li>第0位 6 x 8^0 = 6；</li>
<li>第1位 2 x 8^1 = 16；</li>
<li>读数，把结果值相加，6+16=22，即(26)O=(22)D。<br>
:::</li>
</ol>
<p><img src="/static/img/2d2e194e5f329934708ef106000c3f74.image.png" alt="image.png"></p>
<p><strong>十六进制 → 十进制</strong><br>
　　方法：十六进制数从低位到高位（即从右往左）计算，第0位的权值是16的0次方，第1位的权值是16的1次方，第2位的权值是16的2次方，依次递增下去，把最后的结果相加的值就是十进制的值了。</p>
<p><strong>十六进制就是逢16进1</strong>，十六进制的16个数为0123456789ABCDEF。</p>
<p>:::note{title=&quot;十六进制的(23da)H转换为十进制&quot;}</p>
<ol>
<li>
<p>第0位 a x 16^0 = (10 × 16^0) = 10；</p>
</li>
<li>
<p>第1位 d x 16^1 = (13 × 16^1) = 208；</p>
</li>
<li>
<p>第2位 3 x 16^2 = 768；</p>
</li>
<li>
<p>第3位 2 x 16^3 = 8192；</p>
</li>
<li>
<p>读数，把结果值相加，10+208+768+8192=9178，即(23da)H=(9178)D。<br>
:::</p>
</li>
</ol>
<p><img src="/static/img/865aa1374f739d56f431a6571264b9a1.image.png" alt="image.png"><br>
:::tip{title=&quot;提示&quot;}<br>
<strong>x进制就是遇x进1的意思</strong><br>
:::</p>
<p><strong>十进制 → 二进制</strong><br>
:::note{title=&quot;(67)10 → (1000011)2&quot;}<br>
将67除以2得商33，余数1。将商（33）作为第二次的被除数一次类推，直到商为0.<br>
:::</p>
<p><img src="/static/img/e64955160b7a6c2b36eab66d159e3c43.image.png" alt="image.png"></p>
<p>758（十进制）→ 1366（八进制）    951（十进制）→ 3B7（十六进制）</p>
<p><img src="/static/img/ff1797c832850426e765de017eead55c.image.png" alt="image.png"></p>
<p><strong>二进制转八进制</strong></p>
<p><img src="/static/img/e1710e4f62930620d36482eb8abfbc66.image.png" alt="image.png"></p>
<p><strong>二进制转十六进制</strong><br>
<img src="/static/img/e313561ed776677ba759b0b743d4a8ff.image.png" alt="image.png"></p>
<p>:::warning{title=&quot;特殊情况：小数点的处理&quot;}<br>
如果遇到十进制数例如23.76，如何转换？</p>
<p><img src="/static/img/627703d4e9f17df10670066b408b7313.image.png" alt="image.png"><br>
:::<br>
数制之间的转换<br>
https://baike.baidu.com/item/⼗进制转⼆进制/393189?fr=aladdin<br>
进制在线转换⼯具 ：https://tool.lu/hexconvert/</p>
<p>为什么使⽤⼆进制<br>
计算机中的数据⼤⼩怎么衡量的（包括我们计算机中的变量和⽇常⽣活中的⽹速硬盘，因为这些都是承载数据的，所有都是有⼤⼩的）</p>
<p><img src="/static/img/4d6a204d710a30164523a4ba2e440115.image.png" alt="image.png"><br>
⼤⼩是怎么算的<br>
不要求记住，但是理解存储单位有助于理解计算机和程序</p>
<p><img src="/static/img/fd354202589f4cfd56722f77829a6240.image.png" alt="image.png"></p>
<p><img src="/static/img/8bcafec55efff0bcecc948f5a8adfe3f.image.png" alt="image.png"></p>
<p>上述数据是以2的10次⽅ 间隔⼀个单位。（中国以⼀万，美国以1000）<br>
计算机中的硬盘⼤⼩，内存⼤⼩，⽹速⼤⼩。</p>
<p>MB和Mb的区别</p>
<p>1mB = 1m字节<br>
1Byte = 8bit<br>
1mb = 1兆位<br>
1mB = 8mb</p>
<p>千兆路由器和千兆宽带<br>
100mb 、200mb 、500mb</p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/自我提升">自我提升</category>
        </item>
        <item>
            <title><![CDATA[数据类型]]></title>
            <link>http://blog.wilsonzy.cn/post/39</link>
            <guid>http://blog.wilsonzy.cn/post/39</guid>
            <pubDate>Fri, 30 May 2025 11:16:04 GMT</pubDate>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <!-- more -->
<p>所有的数据类型<br>
http://c.biancheng.net/view/2780.html<br>
其他数据类型怎么使⽤</p>
<ul>
<li>整型</li>
<li>浮点型</li>
<li>字符型</li>
<li>字符串型</li>
<li>布尔类型</li>
</ul>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-built_in">byte</span> <span class="hljs-built_in">int</span> <span class="hljs-built_in">long</span>
<span class="hljs-built_in">sbyte</span> a = <span class="hljs-number">100</span>;
<span class="hljs-built_in">sbyte</span> b = <span class="hljs-number">-100</span>;
<span class="hljs-built_in">int</span> c = <span class="hljs-number">2100000000</span>;
<span class="hljs-built_in">long</span> d = <span class="hljs-number">1234567891234567891</span>;
<span class="hljs-built_in">byte</span> e = <span class="hljs-number">30</span>;
c = a;
a = (<span class="hljs-built_in">sbyte</span>) c;
Console.Write(a);
<span class="hljs-comment">//a = e;</span>
<span class="hljs-comment">//e = a;</span>
</code></pre>
<p>类型的显⽰转换和隐式转换<br>
赋值的时候，两边类型是需要⼀致的，如果不⼀致的话，就需要转换类型。有些条件下，会⾃动进⾏转换，叫做<strong>隐式转换</strong>。<br>
有些情况下，需要我们告诉编译器进⾏类型转换，叫做<strong>显⽰转换</strong>，也叫做强制类型转换，强塞。</p>
<p>:::note{title=&quot;注&quot;}<br>
小数赋值需加 f<br>
:::</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-built_in">float</span> f = <span class="hljs-number">4.5f</span>;
f = <span class="hljs-number">2123456789</span>;
Console.WriteLine(f);
</code></pre>
<p>隐式转换 - 不需要写更多的代码，⾃动进⾏。<br>
当⼩盒⼦放⼊⼤盒⼦的时候，肯定可以放得下，所有会⾃动进⾏转换。不需要做多余操作</p>
<table>
<thead>
<tr>
<th>类型</th>
<th>可以安全的转换为</th>
</tr>
</thead>
<tbody>
<tr>
<td>sbyte</td>
<td>short,int,long,float,double,或decimal</td>
</tr>
<tr>
<td>byte</td>
<td>short,ushort,int,uint,long,ulong,float,double,或decimal</td>
</tr>
<tr>
<td>short</td>
<td>int,long,float,double,或decimal</td>
</tr>
<tr>
<td>ushort</td>
<td>int,uint,long,ulong,float,double,或decimal</td>
</tr>
<tr>
<td>int</td>
<td>long,float,double,或decimal</td>
</tr>
<tr>
<td>uint</td>
<td>long,ulong,float,double,或decimal</td>
</tr>
<tr>
<td>long</td>
<td>float,double,或decimal</td>
</tr>
<tr>
<td>ulong</td>
<td>float,double,或decimal</td>
</tr>
<tr>
<td>char</td>
<td>ushort,int,uint,long,ulong,float,double,或decimal</td>
</tr>
<tr>
<td>float</td>
<td>double</td>
</tr>
</tbody>
</table>
<p>显⽰转换 - 需要写代码告诉转换成什么类型。</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-built_in">byte</span> a = <span class="hljs-number">32</span>;
<span class="hljs-built_in">int</span> b = <span class="hljs-number">200</span>;
<span class="hljs-comment">//b = a;// 隐式转换</span>
<span class="hljs-comment">//a = b;//显示转换 &amp;</span>
Console.Write(a);
<span class="hljs-built_in">int</span> i = Convert.ToInt32(<span class="hljs-string">&quot;234&quot;</span>);
<span class="hljs-built_in">double</span> j = Convert.ToDouble(<span class="hljs-string">&quot;4.5&quot;</span>);
</code></pre>
<p>把⼀个⼤盒⼦⾥⾯的东⻄放进⼩盒⼦的时候，编译器不确定能不能放得下，所以默认是不允<br>
许放的，除⾮你告诉他 我⾮要放。<br>
编译器只检查容器⼤⼩，不检查容器内的具体数值⼤⼩，为什么？因为变量⾥⾯的东⻄是变<br>
化的，变量⾥⾯的值需要在程序运⾏的时候才确定下来。</p>
<p>类型的转换，得是同⼀类型，⽐如数字类型之间可以相互转换，但是我们不能把⼀个字符串转换成整数类型。但是如果要把⼀个数字字符串，转换成数字的话，我们是有对应的⽅法的。</p>
<p><img src="/static/img/b09f4b10c3aaecc9d1f6a26ffabf5b80.image.png" alt="image.png"></p>
<p>同理，如何把⼀个数字转成数字字符串<br>
1、Convert.ToString()<br>
2、 number + &quot;&quot;;</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-built_in">string</span> s = <span class="hljs-number">123</span> + <span class="hljs-string">&quot;&quot;</span>;<span class="hljs-comment">//&quot;123&quot;</span>
<span class="hljs-built_in">string</span> s2 = Convert.ToString(<span class="hljs-number">123</span>);<span class="hljs-comment">//&quot;123&quot;</span>
<span class="hljs-comment">// 8bit 8位 1位只能存储一个0或1</span>
</code></pre>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/自我提升">自我提升</category>
        </item>
        <item>
            <title><![CDATA[练习题8]]></title>
            <link>http://blog.wilsonzy.cn/post/38</link>
            <guid>http://blog.wilsonzy.cn/post/38</guid>
            <pubDate>Fri, 30 May 2025 11:19:14 GMT</pubDate>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <!-- more -->
<p>✋编程题<br>
输⼊⼀个正整数n，输出n层的右三⾓形。<br>
样例输⼊4<br>
样例输出</p>
<p><img src="/static/img/5f9f630672c7c9bd9a5020e8015f8cd6.image.png" alt="image.png"></p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-built_in">int</span> n = Convert.ToInt32(Console.ReadLine());

<span class="hljs-keyword">for</span> (<span class="hljs-built_in">int</span> i = <span class="hljs-number">1</span>; i &lt;= n; i++) {
  <span class="hljs-comment">// n-i个空格  i个*</span>
  <span class="hljs-keyword">for</span> (<span class="hljs-built_in">int</span> j = <span class="hljs-number">0</span>; j &lt; n - i; j++) {
    Console.Write(<span class="hljs-string">&quot; &quot;</span>);
  }
  <span class="hljs-keyword">for</span> (<span class="hljs-built_in">int</span> j = <span class="hljs-number">0</span>; j &lt; i; j++) {
    Console.Write(<span class="hljs-string">&quot;*&quot;</span>);
  }
  Console.WriteLine();
}
</code></pre>
<p>✋编程题<br>
输⼊⼀个正整数n，输出n层的等腰三⾓形。<br>
样例输⼊4<br>
样例输出</p>
<p><img src="/static/img/59685c4d1c34667e9bc28b2ba2e17dae.image.png" alt="image.png"></p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-built_in">int</span> n = Convert.ToInt32(Console.ReadLine());
<span class="hljs-keyword">for</span> (<span class="hljs-built_in">int</span> i = <span class="hljs-number">1</span>; i &lt;= n; i++) {
  <span class="hljs-comment">//n-i   2*i-1</span>
  <span class="hljs-keyword">for</span> (<span class="hljs-built_in">int</span> j = <span class="hljs-number">0</span>; j &lt; n - i; j++) {
    Console.Write(<span class="hljs-string">&quot; &quot;</span>);
  }
  <span class="hljs-keyword">for</span> (<span class="hljs-built_in">int</span> j = <span class="hljs-number">0</span>; j &lt; <span class="hljs-number">2</span> * i - <span class="hljs-number">1</span>; j++) {
    Console.Write(<span class="hljs-string">&quot;*&quot;</span>);
  }
  Console.WriteLine();
}
</code></pre>
<p>✋编程题<br>
输⼊⼀个正整数n，输出n层的菱形。<br>
样例输⼊4<br>
样例输出</p>
<p><img src="/static/img/9e91b84e2191b1940ca67e9ea27e47b1.image.png" alt="image.png"></p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-built_in">int</span> n = Convert.ToInt32(Console.ReadLine());
<span class="hljs-keyword">for</span> (<span class="hljs-built_in">int</span> i = <span class="hljs-number">1</span>; i &lt;= n; i++) {
  <span class="hljs-comment">//n-i   2*i-1</span>
  <span class="hljs-keyword">for</span> (<span class="hljs-built_in">int</span> j = <span class="hljs-number">0</span>; j &lt; n - i; j++) {
    Console.Write(<span class="hljs-string">&quot; &quot;</span>);
  }
  <span class="hljs-keyword">for</span> (<span class="hljs-built_in">int</span> j = <span class="hljs-number">0</span>; j &lt; <span class="hljs-number">2</span> * i - <span class="hljs-number">1</span>; j++) {
    Console.Write(<span class="hljs-string">&quot;*&quot;</span>);
  }
  Console.WriteLine();
}
<span class="hljs-comment">//n-1总行数   空格=行号数</span>
<span class="hljs-keyword">for</span> (<span class="hljs-built_in">int</span> i = <span class="hljs-number">1</span>; i &lt;= n - <span class="hljs-number">1</span>; i++) {
  <span class="hljs-keyword">for</span> (<span class="hljs-built_in">int</span> j = <span class="hljs-number">0</span>; j &lt; i; j++) {
    Console.Write(<span class="hljs-string">&quot; &quot;</span>);
  }
  <span class="hljs-comment">//* 个数</span>
  <span class="hljs-comment">//n-1-i+1 = （n-i ）*2 -1</span>
  <span class="hljs-built_in">int</span> countStar = (n - i) * <span class="hljs-number">2</span> - <span class="hljs-number">1</span>;
  <span class="hljs-keyword">for</span> (<span class="hljs-built_in">int</span> j = <span class="hljs-number">0</span>; j &lt; countStar; j++) {
    Console.Write(<span class="hljs-string">&quot;*&quot;</span>);
  }
  Console.WriteLine();
}
</code></pre>
<p>✋编程题<br>
输出9x9乘法表。</p>
<p><img src="/static/img/3685aca1fdbdef2a48d3578b9ac9fb6f.image.png" alt="image.png"></p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-keyword">for</span> (<span class="hljs-built_in">int</span> i = <span class="hljs-number">1</span>; i &lt;= <span class="hljs-number">9</span>; i++) {
  <span class="hljs-comment">//i 右乘数  左乘数1-i</span>
  <span class="hljs-keyword">for</span> (<span class="hljs-built_in">int</span> j = <span class="hljs-number">1</span>; j &lt;= i; j++) {
    Console.Write(<span class="hljs-string">&quot;{0}x{1}={2} &quot;</span>, j, i, i * j);
  }
  Console.WriteLine();
}
</code></pre>
<p>✋编程题<br>
⽤100⽂买鸡，其中公鸡，⺟鸡，⼩鸡，都必须要有，公鸡3⽂⼀只，⺟鸡5⽂⼀只，⼩鸡2⽂⼀只，请问公鸡、⺟鸡、⼩鸡要买多少只刚好凑⾜100⽂。<br>
把所有的满⾜条件的情况罗列出来。</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-comment">// x y z 公鸡1-33 母鸡1-20 小鸡1-50</span>
<span class="hljs-keyword">for</span> (<span class="hljs-built_in">int</span> x = <span class="hljs-number">1</span>; x &lt;= <span class="hljs-number">100</span> / <span class="hljs-number">3</span>; x++) {
  <span class="hljs-keyword">for</span> (<span class="hljs-built_in">int</span> y = <span class="hljs-number">1</span>; y &lt; <span class="hljs-number">100</span> / <span class="hljs-number">5</span>; y++) {
    <span class="hljs-keyword">for</span> (<span class="hljs-built_in">int</span> z = <span class="hljs-number">1</span>; z &lt; <span class="hljs-number">100</span> / <span class="hljs-number">2</span>; z++) {
      <span class="hljs-comment">//是否花了100文</span>
      <span class="hljs-keyword">if</span> ((x * <span class="hljs-number">3</span> + y * <span class="hljs-number">5</span> + z * <span class="hljs-number">2</span>) == <span class="hljs-number">100</span>) {
        Console.WriteLine(<span class="hljs-string">&quot;公鸡{0}，母鸡{1},小鸡{2}&quot;</span>, x, y, z);
      }
    }
  }
}
</code></pre>
<p>✋输⼊两个整数num1和num2，输出这两个正整数num1和num2的最⼤公约数。</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-built_in">int</span> num1 = Convert.ToInt32(Console.ReadLine());
<span class="hljs-built_in">int</span> num2 = Convert.ToInt32(Console.ReadLine());
<span class="hljs-built_in">int</span> min = num1;
<span class="hljs-keyword">if</span> (num2 &lt; min) {
  min = num2;
}
<span class="hljs-keyword">for</span> (<span class="hljs-built_in">int</span> i = min; i &gt; <span class="hljs-number">0</span>; i--) {
  <span class="hljs-keyword">if</span> (num1 % i == <span class="hljs-number">0</span> &amp;&amp; num2 % i == <span class="hljs-number">0</span>) {
    Console.WriteLine(<span class="hljs-string">&quot;最大公约数&quot;</span> + i);
    <span class="hljs-keyword">break</span>;
  }
}
</code></pre>
<p>✋猜数字<br>
由系统⽣成⼀个随机数（1-100），让玩家猜数字，如果猜的数字⽐随机数⼩，输出猜⼩了，如果猜的数字⽐随机数⼤，输出猜⼤了，猜中的话，输出猜中了，并结束游戏，没有猜中的话，就让玩家⼀直猜。</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code>Random rd = <span class="hljs-keyword">new</span> Random(); <span class="hljs-comment">//随机数的生成Random</span>
<span class="hljs-comment">//Console.WriteLine(rd.Next(1, 10)); //伪随机 </span>
<span class="hljs-built_in">int</span> number = rd.Next(<span class="hljs-number">1</span>, <span class="hljs-number">101</span>);
<span class="hljs-keyword">while</span> (<span class="hljs-literal">true</span>) {
  Console.WriteLine(<span class="hljs-string">&quot;猜猜我的数字是多少：&quot;</span>);
  <span class="hljs-built_in">int</span> numberUser = Convert.ToInt32(Console.ReadLine());
  <span class="hljs-keyword">if</span> (numberUser &gt; number) {
    Console.WriteLine(<span class="hljs-string">&quot;你猜大了&quot;</span>);
  } <span class="hljs-keyword">else</span> <span class="hljs-keyword">if</span> (numberUser &lt; number) {
    Console.WriteLine(<span class="hljs-string">&quot;你猜小了&quot;</span>);
  } <span class="hljs-keyword">else</span> {
    Console.WriteLine(<span class="hljs-string">&quot;你猜中了&quot;</span>);
    <span class="hljs-keyword">break</span>;
  }
}
</code></pre>
<p>编程题集合1：<br>
https://wenku.baidu.com/view/3b89f4112c3f5727a5e9856a561252d381eb204c.html<br>
编程题集合2：  https://www.cnblogs.com/drift-code/p/8821582.html</p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/自我提升">自我提升</category>
        </item>
        <item>
            <title><![CDATA[循环嵌套]]></title>
            <link>http://blog.wilsonzy.cn/post/37</link>
            <guid>http://blog.wilsonzy.cn/post/37</guid>
            <pubDate>Fri, 30 May 2025 11:23:47 GMT</pubDate>
            <description><![CDATA[<p>❓输出 ⼀⾏ 10个*</p>
]]></description>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <p>❓输出 ⼀⾏ 10个*</p>
<!-- more -->
<p><img src="/static/img/86071857a2cd7d8cfc676c18a6aaaf7f.image.png" alt="image.png"></p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-keyword">for</span> (<span class="hljs-built_in">int</span> j = <span class="hljs-number">0</span>; j &lt; <span class="hljs-number">10</span>; j++) {
  Console.Write(<span class="hljs-string">&quot;*&quot;</span>); <span class="hljs-comment">// i=0  j=0 ~ 9  i=1</span>
}
</code></pre>
<p>❓输出4⾏ 每⾏10个*</p>
<p><img src="/static/img/158f621604c508684395a69eee55f649.image.png" alt="image.png"></p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-keyword">for</span> (<span class="hljs-built_in">int</span> i = <span class="hljs-number">0</span>; i &lt; <span class="hljs-number">4</span>; i++) {
  <span class="hljs-keyword">for</span> (<span class="hljs-built_in">int</span> j = <span class="hljs-number">0</span>; j &lt; <span class="hljs-number">10</span>; j++) {
    Console.Write(<span class="hljs-string">&quot;*&quot;</span>); <span class="hljs-comment">// i=0  j=0 ~ 9  i=1</span>
  }
  Console.WriteLine();
}
</code></pre>
<p>❓输⼊两个整数n和m，输出n⾏m列的*阵</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-built_in">int</span> n = Convert.ToInt32(Console.ReadLine());
<span class="hljs-built_in">int</span> m = Convert.ToInt32(Console.ReadLine());

<span class="hljs-keyword">for</span> (<span class="hljs-built_in">int</span> i = <span class="hljs-number">0</span>; i &lt; n; i++) {
  <span class="hljs-keyword">for</span> (<span class="hljs-built_in">int</span> j = <span class="hljs-number">0</span>; j &lt; m; j++) {
    Console.Write(<span class="hljs-string">&quot;*&quot;</span>);
  }
  Console.WriteLine();
}
</code></pre>
<p>❓输⼊整数n，输出n层的三⾓形<br>
样例输⼊ 3<br>
样例输出<br>
*<br>
**<br>
***</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-built_in">int</span> n = Convert.ToInt32(Console.ReadLine());

<span class="hljs-keyword">for</span> (<span class="hljs-built_in">int</span> i = <span class="hljs-number">1</span>; i &lt; n + <span class="hljs-number">1</span>; i++) {
  <span class="hljs-comment">//i=1   1  i=2  2   i</span>
  <span class="hljs-keyword">for</span> (<span class="hljs-built_in">int</span> j = <span class="hljs-number">0</span>; j &lt; i; j++) {
    Console.Write(<span class="hljs-string">&quot;*&quot;</span>);
  }
  Console.WriteLine();
}
</code></pre>
<p>❓输⼊整数n，输出n层的三⾓形的斜边。<br>
样例输⼊5<br>
样例输出</p>
<p><img src="/static/img/1147971bcb89810eb559b29b39feea90.image.png" alt="image.png"></p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-built_in">int</span> n = Convert.ToInt32(Console.ReadLine());
<span class="hljs-keyword">for</span> (<span class="hljs-built_in">int</span> i = <span class="hljs-number">1</span>; i &lt; n + <span class="hljs-number">1</span>; i++) <span class="hljs-comment">//从小到大</span>
{
  <span class="hljs-comment">//行好-1个*</span>
  <span class="hljs-keyword">for</span> (<span class="hljs-built_in">int</span> j = <span class="hljs-number">0</span>; j &lt; i - <span class="hljs-number">1</span>; j++) {
    Console.Write(<span class="hljs-string">&quot; &quot;</span>);
  }
  Console.WriteLine(<span class="hljs-string">&quot;*&quot;</span>);
}
</code></pre>
<p>❓输⼊整数n，输出n层的三⾓形的斜边。<br>
样例输⼊5<br>
样例输出</p>
<p><img src="/static/img/929a2a075966186aae8559b123421a17.image.png" alt="image.png"></p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-built_in">int</span> n = Convert.ToInt32(Console.ReadLine());
<span class="hljs-comment">// n ~ 1</span>
<span class="hljs-keyword">for</span> (<span class="hljs-built_in">int</span> i = n; i &gt; <span class="hljs-number">0</span>; i--) <span class="hljs-comment">//从大到小</span>
{
  <span class="hljs-keyword">for</span> (<span class="hljs-built_in">int</span> j = <span class="hljs-number">0</span>; j &lt; i - <span class="hljs-number">1</span>; j++) {
    Console.Write(<span class="hljs-string">&quot; &quot;</span>);
  }
  Console.WriteLine(<span class="hljs-string">&quot;*&quot;</span>);
}
</code></pre>
<p>❓输⼊正整数n，输出n⾏，每⾏n个*的平⾏四边形。<br>
样例输⼊5<br>
样例输出</p>
<p><img src="/static/img/30ddf9e107e94a6a5416376094f71b9c.image.png" alt="image.png"></p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-built_in">int</span> n = Convert.ToInt32(Console.ReadLine());

<span class="hljs-keyword">for</span> (<span class="hljs-built_in">int</span> i = <span class="hljs-number">1</span>; i &lt;= n; i++) {
  <span class="hljs-keyword">for</span> (<span class="hljs-built_in">int</span> j = <span class="hljs-number">0</span>; j &lt; i - <span class="hljs-number">1</span>; j++) {
    Console.Write(<span class="hljs-string">&quot; &quot;</span>);
  }
  <span class="hljs-keyword">for</span> (<span class="hljs-built_in">int</span> j = <span class="hljs-number">0</span>; j &lt; n; j++) {
    Console.Write(<span class="hljs-string">&quot;*&quot;</span>);
  }
  Console.WriteLine();
}
</code></pre>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/自我提升">自我提升</category>
        </item>
        <item>
            <title><![CDATA[练习题7]]></title>
            <link>http://blog.wilsonzy.cn/post/36</link>
            <guid>http://blog.wilsonzy.cn/post/36</guid>
            <pubDate>Sun, 01 Jun 2025 02:36:35 GMT</pubDate>
            <description><![CDATA[<h2>练习题</h2>
]]></description>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <h2>练习题</h2>
<!-- more -->
<p>:::info{title=&quot;知识点：&quot;}<br>
1、如何读取⼀个字符输⼊</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-built_in">char</span> a = (<span class="hljs-built_in">char</span>)Console.Read();
</code></pre>
<p>2、输⼊缓冲区  （代码、输入缓冲区、控制台）<br>
3、break跳出循环（循环和switch）<br>
中止整个循环<br>
:::</p>
<p>✋假设有个隧道，隧道以字符 ‘#’ 结束，挖矿的过程中，会遇到钻⽯ ‘*’ 和美⾦ ‘1’ ~ ‘9’ ，让矿⼯⼩六挖到隧道的尽头，假设每个钻⽯价值500美⾦，统计⼩六挖到了价值多少美⾦的收获？<br>
样例输⼊ ka4d*s6kkl8s*d9fyo#<br>
样例输出 1027</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-built_in">char</span> c; <span class="hljs-comment">// &#x27;0&#x27; --  55  &#x27;9&#x27;    -- </span>
<span class="hljs-built_in">int</span> sum = <span class="hljs-number">0</span>;
<span class="hljs-keyword">do</span> {
  c = (<span class="hljs-built_in">char</span>) Console.Read();
  <span class="hljs-keyword">if</span> (c &gt;= <span class="hljs-string">&#x27;0&#x27;</span> &amp;&amp; c &lt;= <span class="hljs-string">&#x27;9&#x27;</span>) {
    <span class="hljs-comment">//</span>
    <span class="hljs-built_in">int</span> number = c - <span class="hljs-string">&#x27;0&#x27;</span>;
    sum += number;
  } <span class="hljs-keyword">else</span> <span class="hljs-keyword">if</span> (c == <span class="hljs-string">&#x27;*&#x27;</span>) {
    sum += <span class="hljs-number">500</span>;
  }
} <span class="hljs-keyword">while</span> (c != <span class="hljs-string">&#x27;#&#x27;</span>);
Console.Write(sum);
</code></pre>
<p>✋输⼊⼀个整数，输出该整数的因数个数和所有因数。<br>
输⼊的整数⼤于0，⼩于100000<br>
样例输⼊ 9<br>
样例输出<br>
3<br>
1 3 9</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-built_in">int</span> n = Convert.ToInt32(Console.ReadLine());
<span class="hljs-built_in">int</span> count = <span class="hljs-number">0</span>;
String str = <span class="hljs-string">&quot;&quot;</span>;
<span class="hljs-keyword">for</span> (<span class="hljs-built_in">int</span> i = <span class="hljs-number">1</span>; i &lt;= n; i++) {
  <span class="hljs-keyword">if</span> (n % i == <span class="hljs-number">0</span>) {
    count++;
    str += i + <span class="hljs-string">&quot; &quot;</span>;
  }
}
Console.WriteLine(count);
Console.WriteLine(str);
</code></pre>
<p>:::info{title=&quot;概念：&quot;}</p>
<p>因数是可以把这个数整除的数，任何⼀个⾮1正整数都⾄少有两个因数1和它本⾝。<br>
只有1和⾃⾝这两个因数的⾮1正整数 成为质数（素数）<br>
:::</p>
<p>✋输⼊⼀个正整数，判断该数是否是质数。<br>
输⼊的数字⼤于0，⼩于1000000<br>
如果为质数输出 yes，如果不是输出no<br>
样例输⼊103<br>
输出yes</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-built_in">int</span> n = Convert.ToInt32(Console.ReadLine());
<span class="hljs-built_in">int</span> count = <span class="hljs-number">0</span>;
<span class="hljs-keyword">for</span> (<span class="hljs-built_in">int</span> i = <span class="hljs-number">1</span>; i &lt;= n; i++) {
  <span class="hljs-keyword">if</span> (n % i == <span class="hljs-number">0</span>) {
    count++;
  }
}
<span class="hljs-keyword">if</span> (count == <span class="hljs-number">2</span>) {
  Console.WriteLine(<span class="hljs-string">&quot;yes&quot;</span>);
} <span class="hljs-keyword">else</span> {
  Console.WriteLine(<span class="hljs-string">&quot;no&quot;</span>);
}
</code></pre>
<p>学习continue<br>
✋输出1-100中所有的奇数，使⽤continue。</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-comment">//方法1：</span>
<span class="hljs-keyword">for</span> (<span class="hljs-built_in">int</span> i = <span class="hljs-number">1</span>; i &lt;= <span class="hljs-number">100</span>; i++) {
  <span class="hljs-keyword">if</span> (i % <span class="hljs-number">2</span> == <span class="hljs-number">1</span>) {
    Console.WriteLine(i);
  }
}
<span class="hljs-keyword">break</span>;

<span class="hljs-comment">//方法2：</span>
<span class="hljs-keyword">for</span> (<span class="hljs-built_in">int</span> i = <span class="hljs-number">1</span>; i &lt;= <span class="hljs-number">100</span>; i++) {
  <span class="hljs-keyword">if</span> (i % <span class="hljs-number">2</span> == <span class="hljs-number">0</span>) {
    <span class="hljs-keyword">continue</span>; <span class="hljs-comment">//中止当前循环，继续下次循环</span>
    <span class="hljs-comment">//break;</span>
  }
  Console.WriteLine(i);
}
</code></pre>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/自我提升">自我提升</category>
        </item>
        <item>
            <title><![CDATA[练习题6]]></title>
            <link>http://blog.wilsonzy.cn/post/35</link>
            <guid>http://blog.wilsonzy.cn/post/35</guid>
            <pubDate>Fri, 30 May 2025 11:30:32 GMT</pubDate>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <!-- more -->
<p>✋编程题<br>
⼀个球从某⼀⾼度落下来，每次落地后反跳回原来⾼度的⼀半，再落下。<br>
编程计算球第10次反弹多⾼？在第10次落地时，共经过多少⽶？<br>
输⼊球的初始⾼度，输出反弹多⾼，和经过了多少⽶。</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-built_in">int</span> n = Convert.ToInt32(Console.ReadLine());
<span class="hljs-built_in">double</span> high = n;

<span class="hljs-keyword">for</span> (<span class="hljs-built_in">int</span> i = <span class="hljs-number">0</span>; i &lt; <span class="hljs-number">10</span>; i++) {
  high /= <span class="hljs-number">2</span>;
}
Console.WriteLine(<span class="hljs-string">&quot;第10次落地后会反弹的高度是:&quot;</span> + high);
<span class="hljs-comment">//1 --- 2n</span>
<span class="hljs-comment">//2 --- n</span>
<span class="hljs-comment">//3 --- n/2</span>
<span class="hljs-comment">//10 --- d(9)/2</span>
<span class="hljs-built_in">double</span> distance = <span class="hljs-number">2</span> * n;
<span class="hljs-built_in">double</span> sum = n;
<span class="hljs-keyword">for</span> (<span class="hljs-built_in">int</span> i = <span class="hljs-number">0</span>; i &lt; <span class="hljs-number">9</span>; i++) {
  distance /= <span class="hljs-number">2</span>;
  sum += distance;
}
Console.WriteLine(<span class="hljs-string">&quot;第10次落地后经过了多少米是:&quot;</span> + sum);
</code></pre>
<p>✋编程题<br>
输⼊⼀个整数a，和⼀个正整数n，计算乘⽅ a的n次⽅。</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-built_in">int</span> a = Convert.ToInt32(Console.ReadLine());
<span class="hljs-built_in">int</span> n = Convert.ToInt32(Console.ReadLine());

<span class="hljs-built_in">int</span> result = <span class="hljs-number">1</span>;

<span class="hljs-keyword">for</span> (<span class="hljs-built_in">int</span> i = <span class="hljs-number">0</span>; i &lt; n; i++) {
  result *= a; <span class="hljs-comment">// 1 *a *a *a </span>
}
Console.WriteLine(result);
</code></pre>
<p>✋编程题<br>
输⼊整数n，输出n的阶乘。</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-comment">// 6  1*2*3*4*5*6</span>
<span class="hljs-built_in">int</span> n = Convert.ToInt32(Console.ReadLine());
<span class="hljs-built_in">int</span> result = <span class="hljs-number">1</span>;
<span class="hljs-keyword">for</span> (<span class="hljs-built_in">int</span> i = <span class="hljs-number">1</span>; i &lt;= n; i++) {
  result *= i;
}
Console.WriteLine(result);
</code></pre>
<p>✋编程题<br>
输⼊q和n，求下⾯公式的结果。<br>
<span class="katex"><span class="katex-mathml"><math><semantics><mrow><mn>1</mn><mo>+</mo><msup><mi>q</mi><mn>1</mn></msup><mo>+</mo><msup><mi>q</mi><mn>2</mn></msup><mo>+</mo><msup><mi>q</mi><mn>3</mn></msup><mo>+</mo><mi mathvariant="normal">.</mi><mi mathvariant="normal">.</mi><mi mathvariant="normal">.</mi><mo>+</mo><msup><mi>q</mi><mi>n</mi></msup></mrow><annotation encoding="application/x-tex">1+q^1+q^2+q^3+...+q^n</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="strut" style="height:0.8141079999999999em;"></span><span class="strut bottom" style="height:1.008548em;vertical-align:-0.19444em;"></span><span class="base textstyle uncramped"><span class="mord mathrm">1</span><span class="mbin">+</span><span class="mord"><span class="mord mathit" style="margin-right:0.03588em;">q</span><span class="vlist"><span style="top:-0.363em;margin-right:0.05em;"><span class="fontsize-ensurer reset-size5 size5"><span style="font-size:0em;">​</span></span><span class="reset-textstyle scriptstyle uncramped"><span class="mord mathrm">1</span></span></span><span class="baseline-fix"><span class="fontsize-ensurer reset-size5 size5"><span style="font-size:0em;">​</span></span>​</span></span></span><span class="mbin">+</span><span class="mord"><span class="mord mathit" style="margin-right:0.03588em;">q</span><span class="vlist"><span style="top:-0.363em;margin-right:0.05em;"><span class="fontsize-ensurer reset-size5 size5"><span style="font-size:0em;">​</span></span><span class="reset-textstyle scriptstyle uncramped"><span class="mord mathrm">2</span></span></span><span class="baseline-fix"><span class="fontsize-ensurer reset-size5 size5"><span style="font-size:0em;">​</span></span>​</span></span></span><span class="mbin">+</span><span class="mord"><span class="mord mathit" style="margin-right:0.03588em;">q</span><span class="vlist"><span style="top:-0.363em;margin-right:0.05em;"><span class="fontsize-ensurer reset-size5 size5"><span style="font-size:0em;">​</span></span><span class="reset-textstyle scriptstyle uncramped"><span class="mord mathrm">3</span></span></span><span class="baseline-fix"><span class="fontsize-ensurer reset-size5 size5"><span style="font-size:0em;">​</span></span>​</span></span></span><span class="mbin">+</span><span class="mord mathrm">.</span><span class="mord mathrm">.</span><span class="mord mathrm">.</span><span class="mbin">+</span><span class="mord"><span class="mord mathit" style="margin-right:0.03588em;">q</span><span class="vlist"><span style="top:-0.363em;margin-right:0.05em;"><span class="fontsize-ensurer reset-size5 size5"><span style="font-size:0em;">​</span></span><span class="reset-textstyle scriptstyle uncramped"><span class="mord mathit">n</span></span></span><span class="baseline-fix"><span class="fontsize-ensurer reset-size5 size5"><span style="font-size:0em;">​</span></span>​</span></span></span></span></span></span></p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-built_in">int</span> q = Convert.ToInt32(Console.ReadLine());
<span class="hljs-built_in">int</span> n = Convert.ToInt32(Console.ReadLine());
<span class="hljs-built_in">int</span> temp = <span class="hljs-number">1</span>;
<span class="hljs-built_in">int</span> sum = <span class="hljs-number">1</span>;
<span class="hljs-keyword">for</span> (<span class="hljs-built_in">int</span> i = <span class="hljs-number">1</span>; i &lt;= n; i++) {
  <span class="hljs-comment">// qn</span>
  temp *= q;
  sum += temp;
}
<span class="hljs-comment">//q 3  n = 3</span>
<span class="hljs-comment">// 1+ 3+ 9 +27 =40</span>
Console.WriteLine(sum);
</code></pre>
<p>✋编程题<br>
已知：Sn = 1 + 1/2 + 1/3 + ... + 1/n。 显然对于任意⼀个整数k，当n⾜够⼤的时候，Sn⼤于K。<br>
现输⼊⼀个整数K（1≤K≤15），要求计算出⼀个最⼩的n，使得Sn&gt;K。<br>
输⼊⼀个整数K，输出⼀个整数n。<br>
样例输⼊1，样例输出2</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-built_in">int</span> k = Convert.ToInt32(Console.ReadLine());
<span class="hljs-comment">// n 1</span>
<span class="hljs-built_in">double</span> sn = <span class="hljs-number">0</span>;
<span class="hljs-built_in">int</span> n = <span class="hljs-number">1</span>;
<span class="hljs-keyword">while</span> (sn &lt;= k) {
  sn += <span class="hljs-number">1.0</span> / n;
  n++;
}
Console.WriteLine(n - <span class="hljs-number">1</span>);
</code></pre>
<p>✋编程题<br>
我国现有x亿⼈⼝，按照每年0.1%的增⻓速度，n年后将有多少⼈？</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-built_in">double</span> x = Convert.ToInt32(Console.ReadLine());
<span class="hljs-built_in">int</span> n = Convert.ToInt32(Console.ReadLine());
<span class="hljs-keyword">for</span> (<span class="hljs-built_in">int</span> i = <span class="hljs-number">0</span>; i &lt; n; i++) {
  x *= <span class="hljs-number">1.001</span>;
}
Console.WriteLine(x);
</code></pre>
<p>✋编程题<br>
农夫约翰在去年赚了⼀⼤笔钱！他想要把这些钱⽤于投资，并对⾃⼰能得到多少收益感到好奇。<br>
已知投资的复合年利率为R（0到20之间的整数）。约翰现有总值为M的钱（100到1,000,000之<br>
间的整数）。他清楚地知道⾃⼰要投资Y年（范围0到400）。请帮助他计算最终他会有多少钱，<br>
并输出它的整数部分。数据保证输出结果在32位有符号整数范围内。<br>
输⼊三个整数 R，M，Y,输出整数，即最终拥有多少钱。<br>
输⼊<br>
5<br>
5000<br>
4<br>
输出<br>
6077</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-comment">// R M Y</span>
<span class="hljs-built_in">int</span> r = Convert.ToInt32(Console.ReadLine());
<span class="hljs-built_in">int</span> m = Convert.ToInt32(Console.ReadLine());
<span class="hljs-built_in">int</span> y = Convert.ToInt32(Console.ReadLine());

<span class="hljs-keyword">for</span> (<span class="hljs-built_in">int</span> i = <span class="hljs-number">0</span>; i &lt; y; i++) {
  m = (<span class="hljs-built_in">int</span>)(m * ((r / <span class="hljs-number">100.0</span>) + <span class="hljs-number">1</span>));
}
Console.WriteLine(m);
</code></pre>
<p>✋编程题<br>
编写⼀个程序，打印出所有的“⽔仙花数”，所谓“⽔仙花数”是指⼀个三位数，其各位数字⽴⽅等<br>
于该数本⾝。例如153=1<em>1</em>1+5<em>5</em>5+3<em>3</em>3，所以153是“⽔仙花数”。</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-keyword">for</span> (<span class="hljs-built_in">int</span> i = <span class="hljs-number">100</span>; i &lt;= <span class="hljs-number">999</span>; i++) {
  <span class="hljs-built_in">int</span> ge = i % <span class="hljs-number">10</span>;
  <span class="hljs-built_in">int</span> shi = (i / <span class="hljs-number">10</span>) % <span class="hljs-number">10</span>;
  <span class="hljs-built_in">int</span> bai = i / <span class="hljs-number">100</span>;
  <span class="hljs-keyword">if</span> (i == ge * ge * ge + shi * shi * shi + bai * bai * bai) {
    Console.WriteLine(i);
  }
}
</code></pre>
<p>✋编程题<br>
输⼊任意⼀个位数未知的整数，输出这个数每⼀位上的数字。输出的时候，从个位开始输出，每<br>
输出⼀个数字换⼀⾏。<br>
输⼊：3432<br>
输出：<br>
2<br>
3<br>
4<br>
3</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-built_in">int</span> n = Convert.ToInt32(Console.ReadLine());
<span class="hljs-keyword">while</span> (n≠ <span class="hljs-number">0</span>) {
  <span class="hljs-built_in">int</span> i = n % <span class="hljs-number">10</span>;
  Console.WriteLine(i);
  n = n / <span class="hljs-number">10</span>;
}
</code></pre>
<p>✋编程题<br>
随机输⼊⼀个位数未知的整数，去除这个整数各个位上的0，形成新的数，并输出。<br>
输⼊的数字n⼤于0，⼩于1000000。<br>
样例输⼊ 20603 样例输出 263</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-built_in">int</span> n = Convert.ToInt32(Console.ReadLine());
<span class="hljs-built_in">int</span> sum = <span class="hljs-number">0</span>;
<span class="hljs-built_in">int</span> cheng = <span class="hljs-number">1</span>; <span class="hljs-comment">// 1 10 100 1000</span>
<span class="hljs-keyword">while</span> (n≠ <span class="hljs-number">0</span>) {
  <span class="hljs-built_in">int</span> i = n % <span class="hljs-number">10</span>; <span class="hljs-comment">//i就是遍历各个位上的数字</span>
  <span class="hljs-keyword">if</span> (i≠ <span class="hljs-number">0</span>) {
    i *= cheng; <span class="hljs-comment">// ge  1*</span>
    sum += i;
    cheng *= <span class="hljs-number">10</span>;
  }
  n = n / <span class="hljs-number">10</span>;
}
Console.WriteLine(sum);
</code></pre>
<p>✋编程题<br>
随机输⼊⼀个整数num，输出⼀个新的数，新数恰好与原数每⼀位上的数字相反。（如果原数末<br>
尾有多个零，输出的新数⾼位不含0）<br>
样例输⼊ 8736 样例输出 6378<br>
样例输⼊2300 样例输出 32</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-built_in">int</span> n = Convert.ToInt32(Console.ReadLine());
<span class="hljs-comment">// 标志位，标志是否达到了某个条件</span>
<span class="hljs-built_in">bool</span> yudao = <span class="hljs-literal">false</span>; <span class="hljs-comment">// 默认还没有遇到第一个非0</span>
<span class="hljs-keyword">while</span> (n≠ <span class="hljs-number">0</span>) <span class="hljs-comment">//从低位到高位遍历</span>
{
  <span class="hljs-built_in">int</span> i = n % <span class="hljs-number">10</span>; <span class="hljs-comment">//23407800   i = 0 0 8 7 0 4 3 2</span>
  <span class="hljs-comment">//判断是否遇到了第一个非0数字</span>
  <span class="hljs-comment">//已经遇到了第一个非0数字</span>
  <span class="hljs-comment">//不需要去掉0了</span>
  <span class="hljs-comment">//还没有遇到第一个非0数字</span>
  <span class="hljs-comment">//去掉</span>
  <span class="hljs-keyword">if</span> (yudao = <span class="hljs-literal">true</span>) <span class="hljs-comment">//还没有遇到第一个非0数字</span>
  {
    <span class="hljs-keyword">if</span> (i≠ <span class="hljs-number">0</span>) <span class="hljs-comment">//i=8</span>
    {
      Console.Write(i);
      yudao = <span class="hljs-literal">true</span>;
    }
  } <span class="hljs-keyword">else</span> <span class="hljs-comment">//i=7</span>
  {
    Console.Write(i);
  }
  n = n / <span class="hljs-number">10</span>;
}
</code></pre>
<p>✋编程题<br>
回⽂数指正序（从左到右）和倒序（从右到左）读都是⼀样的整数。输⼊⼀个数，判断是否是回<br>
⽂数。输⼊的整数⼤于0，⼩于1000000。如果是回⽂输出yes，不是输出no。<br>
样例输⼊ 2397 输出no<br>
样例输⼊ 2992 样例输出yes</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-built_in">int</span> n = Convert.ToInt32(Console.ReadLine());
<span class="hljs-built_in">int</span> tempN = n;
<span class="hljs-built_in">int</span> number = <span class="hljs-number">0</span>;
<span class="hljs-comment">// 3617</span>
<span class="hljs-comment">// 7 1 6 3</span>
<span class="hljs-comment">// 7*10 10</span>
<span class="hljs-comment">//71*10  710</span>
<span class="hljs-comment">//7160</span>
<span class="hljs-comment">// 7163</span>
<span class="hljs-keyword">while</span> (tempN≠ <span class="hljs-number">0</span>) <span class="hljs-comment">//从低位到高位</span>
{
  <span class="hljs-built_in">int</span> i = tempN % <span class="hljs-number">10</span>;
  number *= <span class="hljs-number">10</span>;
  number += i;
  tempN = tempN / <span class="hljs-number">10</span>;
}

<span class="hljs-keyword">if</span> (number == n) {
  Console.WriteLine(<span class="hljs-string">&quot;yes&quot;</span>);
} <span class="hljs-keyword">else</span> {
  Console.WriteLine(<span class="hljs-string">&quot;no&quot;</span>);
}
</code></pre>
<p>✋编程题<br>
数字和字符混合在⼀起了，作为⼀个优秀的挖掘⼈员，把输⼊的数字挖出来，并计算这些数字的<br>
和，并输出。输⼊以@作为结束。<br>
样例输⼊ 23a34b34@<br>
样例输出 19</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-built_in">char</span> c; <span class="hljs-comment">// &#x27;0&#x27; --  55  &#x27;9&#x27;    -- </span>
<span class="hljs-built_in">int</span> sum = <span class="hljs-number">0</span>;
<span class="hljs-keyword">do</span> {
  c = (<span class="hljs-built_in">char</span>) Console.Read();
  <span class="hljs-keyword">if</span> (c &gt;= <span class="hljs-string">&#x27;0&#x27;</span> &amp;&amp; c &lt;= <span class="hljs-string">&#x27;9&#x27;</span>) {
    <span class="hljs-built_in">int</span> number = c - <span class="hljs-string">&#x27;0&#x27;</span>;
    sum += number;
  }
} <span class="hljs-keyword">while</span> (c≠ <span class="hljs-string">&#x27;@&#x27;</span>);
Console.Write(sum);
</code></pre>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/自我提升">自我提升</category>
        </item>
        <item>
            <title><![CDATA[for循环的其他情况]]></title>
            <link>http://blog.wilsonzy.cn/post/34</link>
            <guid>http://blog.wilsonzy.cn/post/34</guid>
            <pubDate>Fri, 30 May 2025 11:32:06 GMT</pubDate>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <!-- more -->
<p>for循环的 <strong>初始化 条件 增量</strong> 都是可选的，可有可⽆，根据需要。⼀般都有。</p>
<p>同⼀个作⽤域内变量名不能重名<br>
for (int i = 0; ;) { }<br>
for (int i = 0; ;) { }</p>
<p>？问题：<br>
1、什么是作⽤域<br>
简单来说，是变量在程序中的起作用范围。<br>
一般来说，一个变量只有在特定的区域内是有意义的，那么，限定这个变量的有效区域的代码范围就是这个变量的作用域。</p>
<p>2、⽗作⽤域与⼦作⽤域， 可以访问⽗作⽤域⾥⾯的变量，但是⽗作⽤域不能访问⼦作⽤域⾥⾯<br>
的变量。</p>
<p>✋编程题<br>
让⽤户输⼊整数，如果⽤户输⼊的不是0，就继续输⼊，如果输⼊的是0，结束整数，并输出所<br>
有整数的和。</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code> <span class="hljs-comment">// for方法：</span>
<span class="hljs-built_in">int</span> sum = <span class="hljs-number">0</span>, num;
<span class="hljs-keyword">for</span> (;;) {
  Console.Write(<span class="hljs-string">&quot;请输入一个整数（输入0退出): &quot;</span>);
  num = Convert.ToInt32(Console.ReadLine());
  <span class="hljs-keyword">if</span> (num == <span class="hljs-number">0</span>) <span class="hljs-keyword">break</span>;
  sum += num;
}
Console.WriteLine(<span class="hljs-string">&quot;所有整数的和为&quot;</span> + sum);

<span class="hljs-comment">// while方法:</span>
<span class="hljs-built_in">int</span> sum = <span class="hljs-number">0</span>, num;
<span class="hljs-keyword">while</span> (<span class="hljs-literal">true</span>) {
  Console.Write(<span class="hljs-string">&quot;请输入一个整数(输入0退出): &quot;</span>);
  num = Convert.ToInt32(Console.ReadLine());
  <span class="hljs-keyword">if</span> (num == <span class="hljs-number">0</span>) <span class="hljs-keyword">break</span>;
  sum += num;
}
Console.WriteLine(<span class="hljs-string">&quot;所有整数的和为:&quot;</span> + sum);

<span class="hljs-comment">// do  while方法： </span>
<span class="hljs-built_in">int</span> n = <span class="hljs-number">0</span>;
<span class="hljs-built_in">int</span> sum = <span class="hljs-number">0</span>;
Console.WriteLine(<span class="hljs-string">&quot;请输入整数:&quot;</span>);
<span class="hljs-keyword">do</span> {
  n = Convert.ToInt32(Console.ReadLine());
  sum += n;
} <span class="hljs-keyword">while</span> (n != <span class="hljs-number">0</span>);

Console.WriteLine <span class="hljs-string">&quot;sum =&quot;</span> + sum);
</code></pre>
<p>:::note{title=&quot;总结&quot;}<br>
for 确定循环次数<br>
while 确定循环条件<br>
do while 循环体⾄少被执⾏⼀次</p>
<p>:::</p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/自我提升">自我提升</category>
        </item>
        <item>
            <title><![CDATA[do...while循环]]></title>
            <link>http://blog.wilsonzy.cn/post/33</link>
            <guid>http://blog.wilsonzy.cn/post/33</guid>
            <pubDate>Sun, 03 Mar 2024 10:02:33 GMT</pubDate>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <!-- more -->
<h2>do...while循环</h2>
<p>我们前面学习了 for 循环和 while 循环，for 循环和 while 循环会在循环开始之前先判断表达式的结果，只有表达式结果为真时才会开始循环，而 do while 循环会先执行一遍循环主体中的代码，然后再判断表达式的结果。<br>
也就是说，<strong>不论表达式的结果如何，do while 循环至少会执行一次</strong>。</p>
<p>:::info{title=&quot;do while 循环的语法格式&quot;}<br>
do{<br>
//循环体<br>
}while(条件表达式);<br>
:::</p>
<p>do while 循环中，程序会先执行do{ }中的循环主体，执行完成后再去判断while( )中的表达式，如果表达式为真，则继续执行do{ }中的循环主体，如果表达式为假，则跳出 do while 循环。</p>
<p><img src="/static/img/0b10042bccbcc95f3f16eb3ca370b44c.image.webp" alt="image.png"></p>
<p>利⽤while和dowhile输出⼗个*，⽐较区别。</p>
<p>如果只输出1个 * 呢 ？</p>
<p>dowhile会先执⾏⼀次循环体，然后再判断。</p>
<p><strong>区别：</strong><br>
当⾸次进⼊循环不满⾜条件表达式的时候，dowhile会执⾏⼀次循环体，while⼀次都不会执⾏。其他情况，do while和while没有区别。</p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/自我提升">自我提升</category>
        </item>
        <item>
            <title><![CDATA[for循环]]></title>
            <link>http://blog.wilsonzy.cn/post/32</link>
            <guid>http://blog.wilsonzy.cn/post/32</guid>
            <pubDate>Fri, 30 May 2025 11:35:07 GMT</pubDate>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <!-- more -->
<p>使用 for 循环可以重复执行一部分代码，而且重复的次数是可以设定的</p>
<p>:::info{title=&quot;for循环语法格式：&quot;}</p>
<p>for( 代码1;代码2;代码3 )<br>
{<br>
//循环体<br>
}<br>
for( 初始化;条件表达式;增量表达式 )<br>
{<br>
//循环体<br>
}<br>
:::</p>
<ul>
<li>首先执行初始化语句（通常是一个变量），并且只执行一次，在某些情况下初始化语句可以省略，只保留后面的分号即可；</li>
<li>接下来进行条件判断，如果为 true，则执行循环主体，如果为假，则跳出 for 循环，执行 for 循环以外的代码；</li>
<li>循环主体执行完成后，更新迭代器的值（增加或减少），然后再进行条件判断，如果为真则再次执行循环主体，重复执行此步骤，直至判断条件为假，跳出循环。</li>
</ul>
<p><img src="/static/img/61c8a147c107ddd0f4c3d8d2298a25bb.image.webp" alt="image.png"></p>
<p>❓问题<br>
循环输出1-10</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code>方法<span class="hljs-number">1</span>：
<span class="hljs-built_in">int</span> i = <span class="hljs-number">0</span>;
<span class="hljs-keyword">while</span> (i &lt; <span class="hljs-number">10</span>) {
  Console.WriteLine(i);
  i++;
}

方法<span class="hljs-number">2</span>：
<span class="hljs-keyword">for</span> (<span class="hljs-built_in">int</span> i = <span class="hljs-number">0</span>; i &lt; <span class="hljs-number">10</span>; i++) {
  Console.WriteLine(i);
}
方法<span class="hljs-number">3</span>：
<span class="hljs-keyword">for</span> (<span class="hljs-built_in">int</span> i = <span class="hljs-number">1</span>; i &lt; <span class="hljs-number">11</span>; i++) {
  Console.WriteLine(i);
}
方法<span class="hljs-number">4</span>：
<span class="hljs-keyword">for</span> (<span class="hljs-built_in">int</span> i = <span class="hljs-number">1</span>; i &lt;= <span class="hljs-number">10</span>; i++) {
  Console.WriteLine(i);
}
</code></pre>
<p>❓输出20个*，在同⼀⾏</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-keyword">for</span> (<span class="hljs-built_in">int</span> i = <span class="hljs-number">0</span>; i &lt; <span class="hljs-number">20</span>; i++) {
  Console.Write(<span class="hljs-string">&quot;*&quot;</span>);
}
</code></pre>
<p>❓利⽤for循环计算1-100的和</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-built_in">int</span> sum = <span class="hljs-number">0</span>;
<span class="hljs-keyword">for</span> (<span class="hljs-built_in">int</span> i = <span class="hljs-number">1</span>; i &lt; <span class="hljs-number">101</span>; i++) {
  sum += i;
}
Console.Write(sum);
</code></pre>
<p>❓利⽤for循环输出1-100之间所有的偶数</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-keyword">for</span> (<span class="hljs-built_in">int</span> i = <span class="hljs-number">1</span>; i &lt; <span class="hljs-number">101</span>; i++) {
  <span class="hljs-keyword">if</span> (i % <span class="hljs-number">2</span> == <span class="hljs-number">0</span>) {
    Console.WriteLine(i);
  }
}
</code></pre>
<p>❓输⼊两个正整数n和m，计算n和m之间（包含n和m）所有能被17整除的数的和，并输出和。</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-built_in">int</span> n = Convert.ToInt32(Console.ReadLine());
<span class="hljs-built_in">int</span> m = Convert.ToInt32(Console.ReadLine());

<span class="hljs-built_in">int</span> sum = <span class="hljs-number">0</span>;
<span class="hljs-keyword">for</span> (<span class="hljs-built_in">int</span> i = n; i &lt;= m; i++) {
  <span class="hljs-keyword">if</span> (i % <span class="hljs-number">17</span> == <span class="hljs-number">0</span>) {
    sum += i;
  }
}
Console.Write(sum);
</code></pre>
<p>❓输⼊两个正整数n和m，利⽤for循环打印出来n和m之间（包含n和m），所有的奇数和所有的<br>
偶数。奇数放在⼀⾏，⽤空格分割。偶数放在⼀⾏，⽤空格分割。<br>
输⼊<br>
10<br>
20<br>
输出<br>
11 13 15 17 19<br>
10 12 14 16 18 29</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-built_in">int</span> n = Convert.ToInt32(Console.ReadLine());
<span class="hljs-built_in">int</span> m = Convert.ToInt32(Console.ReadLine());
<span class="hljs-built_in">string</span> ji = <span class="hljs-string">&quot;&quot;</span>;
<span class="hljs-built_in">string</span> ou = <span class="hljs-string">&quot;&quot;</span>;

<span class="hljs-keyword">for</span> (<span class="hljs-built_in">int</span> i = n; i &lt;= m; i++) {
  <span class="hljs-keyword">if</span> (i % <span class="hljs-number">2</span> == <span class="hljs-number">1</span>) {
    ji += i + <span class="hljs-string">&quot; &quot;</span>;
  } <span class="hljs-keyword">else</span> {
    ou += i + <span class="hljs-string">&quot; &quot;</span>;
  }
}
Console.WriteLine(ji);
Console.WriteLine(ou);
</code></pre>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/自我提升">自我提升</category>
        </item>
        <item>
            <title><![CDATA[练习题5]]></title>
            <link>http://blog.wilsonzy.cn/post/31</link>
            <guid>http://blog.wilsonzy.cn/post/31</guid>
            <pubDate>Fri, 30 May 2025 11:37:09 GMT</pubDate>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <!-- more -->
<p>✋编程题<br>
3n+1问题：对于任意⼤于1的⾃然数n，若n为奇数，将n编程3n+1，否则变成n的⼀半。经过若<br>
⼲次这样的变化，n⼀定会最终变成1，⽐如，7 → 22 → 11 → 34 → 17 → 52 → 26 → 13 → 40<br>
→ 20 → 10 → 5 → 16 → 8 → 4 →2 → 1<br>
输⼊n，输出变换的次数。<br>
⽐如输⼊3输出7 ，输⼊10，输出6</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-built_in">int</span> n = Convert.ToInt32(Console.ReadLine());
<span class="hljs-built_in">int</span> j = <span class="hljs-number">0</span>;
<span class="hljs-keyword">while</span> (n != <span class="hljs-number">1</span>) {
  <span class="hljs-comment">//变换</span>
  <span class="hljs-keyword">if</span> (n % <span class="hljs-number">2</span> == <span class="hljs-number">1</span>) {
    n = <span class="hljs-number">3</span> * n + <span class="hljs-number">1</span>;
  } <span class="hljs-keyword">else</span> {
    n /= <span class="hljs-number">2</span>;
  }
  j++;
  Console.WriteLine(<span class="hljs-string">&quot;变换后的值为：&quot;</span> + n);
}
Console.WriteLine(<span class="hljs-string">&quot;变换的次数为：&quot;</span> + j);
</code></pre>
<p>✋编程题<br>
2006年培养学员80000⼈，每年增⻓25%，请问按此增⻓速度，到哪⼀年培训学员⼈数将达到<br>
20万⼈？</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-built_in">int</span> number = <span class="hljs-number">80000</span>;
<span class="hljs-built_in">int</span> year = <span class="hljs-number">2006</span>;
<span class="hljs-keyword">while</span> (number &lt; <span class="hljs-number">200000</span>) {
  number = (<span class="hljs-built_in">int</span>)(number * <span class="hljs-number">1.25</span>); <span class="hljs-comment">//增加了一年</span>
  year++;
}
Console.WriteLine(year);
</code></pre>
<p>✋编程题<br>
班上有若⼲名学⽣，输⼊学⽣的个数，然后输⼊每⼀个学⽣的年龄，计算出来平均年龄，保留到<br>
⼩数点后两位，输出平均年龄。<br>
样例输⼊：<br>
2<br>
20<br>
19<br>
样例输出<br>
19.5</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-built_in">int</span> stu = Convert.ToInt32(Console.ReadLine()); <span class="hljs-comment">//输入学生的个数</span>
<span class="hljs-built_in">int</span> i = <span class="hljs-number">1</span>;
<span class="hljs-built_in">int</span> ageSum = <span class="hljs-number">0</span>;
<span class="hljs-keyword">while</span> (i &lt; stu + <span class="hljs-number">1</span>) {
  ageSum += Convert.ToInt32(Console.ReadLine()); <span class="hljs-comment">//输入每一个学生的年龄</span>
  i++;
}
<span class="hljs-built_in">double</span> ave = <span class="hljs-number">1.0</span> * ageSum / stu;
<span class="hljs-comment">// 4.5342  100 int   453 /100.0</span>
ave = ((<span class="hljs-built_in">int</span>)(ave * <span class="hljs-number">100</span>)) / <span class="hljs-number">100.0</span>; <span class="hljs-comment">//保留小数点后2位</span>
Console.WriteLine(ave);
</code></pre>
<p>✋编程题<br>
输⼊⼀个整数n，输出1~n中的每个数，空格隔开。</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-built_in">int</span> n = Convert.ToInt32(Console.ReadLine());
<span class="hljs-built_in">int</span> i = <span class="hljs-number">1</span>;
<span class="hljs-keyword">while</span> (i &lt; n + <span class="hljs-number">1</span>) {
  Console.Write(i + <span class="hljs-string">&quot; &quot;</span>);
  i++;
}
</code></pre>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/自我提升">自我提升</category>
        </item>
        <item>
            <title><![CDATA[while循环]]></title>
            <link>http://blog.wilsonzy.cn/post/30</link>
            <guid>http://blog.wilsonzy.cn/post/30</guid>
            <pubDate>Fri, 30 May 2025 11:41:15 GMT</pubDate>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <!-- more -->
<p>while循环<br>
❓问题<br>
如何换⾏输出1-9</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code> <span class="hljs-comment">// Write WriteLine</span>
Console.WriteLine(<span class="hljs-string">&quot;1&quot;</span>);
Console.WriteLine(<span class="hljs-string">&quot;2&quot;</span>);
Console.WriteLine(<span class="hljs-string">&quot;3&quot;</span>);
Console.WriteLine(<span class="hljs-string">&quot;4&quot;</span>);
Console.WriteLine(<span class="hljs-string">&quot;5&quot;</span>);
Console.WriteLine(<span class="hljs-string">&quot;6&quot;</span>);
Console.WriteLine(<span class="hljs-string">&quot;7&quot;</span>);
Console.WriteLine(<span class="hljs-string">&quot;8&quot;</span>);
Console.WriteLine(<span class="hljs-string">&quot;9&quot;</span>);
</code></pre>
<p>❓问题<br>
那如何换⾏输出1-100 1-1000呢？</p>
<h2>while循环的结构</h2>
<p>:::info{title=&quot;while循环的语法格式&quot;}<br>
while（条件表达式）<br>
{<br>
//循环体<br>
}<br>
:::</p>
<p><img src="/static/img/db08df5224c0ad967453c8077ce8e190.image.webp" alt="image.png"></p>
<p>:::note{title=&quot;注&quot;}<br>
1、当满⾜条件的时候会⼀直执⾏，不满⾜条件的时候，跳出循环。<br>
2、条件表达式也是布尔表达式，需要返回⼀个布尔值<br>
:::</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code> <span class="hljs-comment">// 1-10</span>
<span class="hljs-built_in">int</span> i = <span class="hljs-number">1</span>;
<span class="hljs-keyword">while</span> (i &lt; <span class="hljs-number">11</span>) {
  Console.WriteLine(i);
  i++;
}
<span class="hljs-comment">// 1-100</span>
<span class="hljs-built_in">int</span> i = <span class="hljs-number">0</span>;
<span class="hljs-keyword">while</span> (i &lt; <span class="hljs-number">100</span>) {
  i++;
  Console.WriteLine(i);
}
<span class="hljs-comment">//1-1000</span>
<span class="hljs-built_in">int</span> i = <span class="hljs-number">1</span>;
<span class="hljs-keyword">while</span> (i &lt; <span class="hljs-number">1001</span>) {
  Console.WriteLine(i);
  i++;
}
</code></pre>
<p>❓做⼀个死循环</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-built_in">int</span> i = <span class="hljs-number">1</span>;
<span class="hljs-keyword">while</span> (<span class="hljs-literal">true</span>) {
  Console.WriteLine(i);
  i++;
}
</code></pre>
<p>❓敌⼈攻击的AI：<br>
当主⾓⾎量⼤于0的时候，就⼀直攻击主⾓。</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-built_in">int</span> HP = <span class="hljs-number">100</span>;
<span class="hljs-keyword">while</span> (HP &gt; <span class="hljs-number">0</span>) {
  HP -= <span class="hljs-number">3</span>;
  Console.WriteLine(<span class="hljs-string">&quot;HP&quot;</span> + HP);
}
</code></pre>
<p>❓如何控制循环执⾏次数？输出100-1和1-1000</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-comment">//  100-1</span>
<span class="hljs-built_in">int</span> i = <span class="hljs-number">100</span>;
<span class="hljs-keyword">while</span> (i &gt; <span class="hljs-number">0</span>) {
  Console.WriteLine(i);
  i--;
}
</code></pre>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-built_in">int</span> i = <span class="hljs-number">1</span>;
<span class="hljs-keyword">while</span> (i &lt; <span class="hljs-number">1001</span>) {
  Console.WriteLine(i);
  i++;
}
</code></pre>
<p>❓输⼊整数n，计算1+2+3+...+n的和</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-comment">//遍历 1-100</span>
<span class="hljs-built_in">int</span> i = <span class="hljs-number">1</span>;
<span class="hljs-built_in">int</span> sum = <span class="hljs-number">0</span>;
<span class="hljs-keyword">while</span> (i &lt; <span class="hljs-number">101</span>) {
  <span class="hljs-comment">// 1  ~ 100 sum = sum + i</span>
  sum += i;
  i++;
}
Console.WriteLine(sum);
<span class="hljs-comment">//1+2+3+...+n</span>
<span class="hljs-built_in">int</span> n = Convert.ToInt32(Console.ReadLine());
<span class="hljs-built_in">int</span> i = <span class="hljs-number">1</span>;
<span class="hljs-built_in">int</span> sum = <span class="hljs-number">0</span>;
<span class="hljs-keyword">while</span> (i &lt; n + <span class="hljs-number">1</span>) {
  <span class="hljs-comment">// 1  ~ 100 sum = sum + i</span>
  sum += i;
  i++;
}
Console.WriteLine(sum);
</code></pre>
<p>❓输出1-100之间所有的偶数</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-built_in">int</span> i = <span class="hljs-number">1</span>;
<span class="hljs-keyword">while</span> (i &lt; <span class="hljs-number">101</span>) {
  <span class="hljs-comment">// 1 ~ 100</span>
  <span class="hljs-keyword">if</span> (i % <span class="hljs-number">2</span> == <span class="hljs-number">0</span>) {
    Console.WriteLine(i);
  }
  i++;
}
</code></pre>
<p>❓输⼊两个整数n1,n2,输出n1-n2(包含n1和n2)之间所有的偶数。</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-built_in">int</span> n1 = Convert.ToInt32(Console.ReadLine());
<span class="hljs-built_in">int</span> n2 = Convert.ToInt32(Console.ReadLine());

<span class="hljs-built_in">int</span> i = n1;
<span class="hljs-keyword">while</span> (i &lt; n2 + <span class="hljs-number">1</span>) {
  <span class="hljs-keyword">if</span> (i % <span class="hljs-number">2</span> == <span class="hljs-number">0</span>) {
    Console.WriteLine(i);
  }
  i++;
}
</code></pre>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/自我提升">自我提升</category>
        </item>
        <item>
            <title><![CDATA[练习题4]]></title>
            <link>http://blog.wilsonzy.cn/post/29</link>
            <guid>http://blog.wilsonzy.cn/post/29</guid>
            <pubDate>Fri, 30 May 2025 11:42:52 GMT</pubDate>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <!-- more -->
<p>✍编程题：<br>
编写⼀个程序，对输⼊的4个整数，求出其中的最⼤值和最⼩值，并显⽰出来。</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code>  <span class="hljs-comment">//a b c d</span>
<span class="hljs-built_in">int</span> a = Convert.ToInt32(Console.ReadLine());
<span class="hljs-built_in">int</span> b = Convert.ToInt32(Console.ReadLine());
<span class="hljs-built_in">int</span> c = Convert.ToInt32(Console.ReadLine());
<span class="hljs-built_in">int</span> d = Convert.ToInt32(Console.ReadLine());

<span class="hljs-built_in">int</span> max = a, min = a;
<span class="hljs-keyword">if</span> (max &lt; b) {
  max = b;
}
<span class="hljs-keyword">if</span> (max &lt; c) {
  max = c;
}
<span class="hljs-keyword">if</span> (max &lt; d) {
  max = d;
}

<span class="hljs-keyword">if</span> (min &gt; b) {
  min = b;
}
<span class="hljs-keyword">if</span> (min &gt; c) {
  min = c;
}
<span class="hljs-keyword">if</span> (min &gt; d) {
  min = d;
}

Console.WriteLine(<span class="hljs-string">&quot;最大值是{0},最小值是{1}.&quot;</span>, max, min);
</code></pre>
<p>✍编程题：<br>
让⽤户输⼊两个整数，然后再输⼊0-3之间的⼀个数，0代表加法，1代表减法，2代表乘法，3代<br>
表除法,计算这两个数字的结果</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-built_in">int</span> a = Convert.ToInt32(Console.ReadLine());
<span class="hljs-built_in">int</span> b = Convert.ToInt32(Console.ReadLine());
<span class="hljs-built_in">int</span> op = Convert.ToInt32(Console.ReadLine());

<span class="hljs-built_in">int</span> res = <span class="hljs-number">0</span>;
<span class="hljs-keyword">switch</span> (op) {
<span class="hljs-keyword">case</span> <span class="hljs-number">0</span>:
  res = a + b;
  Console.WriteLine(res);
  <span class="hljs-keyword">break</span>;
<span class="hljs-keyword">case</span> <span class="hljs-number">1</span>:
  res = a - b;
  Console.WriteLine(res);
  <span class="hljs-keyword">break</span>;
<span class="hljs-keyword">case</span> <span class="hljs-number">2</span>:
  res = a * b;
  Console.WriteLine(res);
  <span class="hljs-keyword">break</span>;
<span class="hljs-keyword">case</span> <span class="hljs-number">3</span>:
  <span class="hljs-built_in">double</span> res2 = a * <span class="hljs-number">1.0</span> / b;
  Console.WriteLine(res2);
  <span class="hljs-keyword">break</span>;

}
</code></pre>
<p>✍编程题：</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-built_in">int</span> x=<span class="hljs-number">1</span>,a=<span class="hljs-number">0</span>,b=<span class="hljs-number">0</span>;  
<span class="hljs-keyword">switch</span>(x)
{  
<span class="hljs-keyword">case</span> <span class="hljs-number">0</span>:b++;<span class="hljs-keyword">break</span>;    
<span class="hljs-keyword">case</span> <span class="hljs-number">1</span>:a++;<span class="hljs-keyword">break</span>;   
<span class="hljs-keyword">case</span> <span class="hljs-number">2</span>:a++,b++;<span class="hljs-keyword">break</span>;   
}   
Console.WriteLine(<span class="hljs-string">&quot;a=&quot;</span>+a+<span class="hljs-string">&quot; b=&quot;</span>+b);
</code></pre>
<p>该程序的输出结果是（ ）<br>
A、 a=2 b=1<br>
B、 a=1 b=1<br>
C、 a=1 b=0  ✔<br>
D、 a=2 b=2</p>
<p>✍编程题：<br>
以下关于switch和if语句说法正确的是：（ ）<br>
A、switch可以判断变量在某个范围<br>
B、switch可以同时对多个变量进⾏判断<br>
C、能⽤if语句写的程序就能⽤switch语句写出<br>
D、能⽤switch语句写的程序肯定能⽤if语句写出  ✔</p>
<p>✍编程题：<br>
运⾏下⾯程序时，从键盘输⼊字⺟H，则输出结果时（ ）</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-built_in">char</span> ch;
ch=Convert.ToChar(Console.ReadLine());
<span class="hljs-keyword">switch</span>(ch)
{
<span class="hljs-keyword">case</span> <span class="hljs-string">&#x27;H&#x27;</span>:Console.WriteLine(<span class="hljs-string">&quot;Hello!&quot;</span>);
<span class="hljs-keyword">case</span> <span class="hljs-string">&#x27;G&#x27;</span>:Console.WriteLine(<span class="hljs-string">&quot;Good Morning!!&quot;</span>);
<span class="hljs-literal">default</span>:Console.WriteLine(<span class="hljs-string">&quot;Bye_Bye!&quot;</span>);
}
</code></pre>
<p>A、 Hello!  ✔<br>
B、 Hello!<br>
Good Morning!<br>
C、 Hello!<br>
Good Morning!<br>
Bye_Bye!<br>
D、 Hello!<br>
Bye_Bye!</p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/自我提升">自我提升</category>
        </item>
        <item>
            <title><![CDATA[switch分⽀语句]]></title>
            <link>http://blog.wilsonzy.cn/post/28</link>
            <guid>http://blog.wilsonzy.cn/post/28</guid>
            <pubDate>Fri, 30 May 2025 11:44:49 GMT</pubDate>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <!-- more -->
<p>❓问题 1<br>
有⼀台⾃动售货机，⾥⾯⼀共6个商品。⽤户可以输⼊1-6选择要购买的商品。<br>
1 矿泉⽔ 2红茶 3绿茶 4雪碧 5可⼝可乐 6脉动<br>
根据⽤户输⼊的数字，显⽰⽤户购买的商品。</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-built_in">int</span> number = Convert.ToInt32(Console.ReadLine());
<span class="hljs-keyword">if</span> (number == <span class="hljs-number">1</span>) {
  Console.WriteLine(<span class="hljs-string">&quot;矿泉水&quot;</span>);
} <span class="hljs-keyword">else</span> <span class="hljs-keyword">if</span> (number == <span class="hljs-number">2</span>) {
  Console.WriteLine(<span class="hljs-string">&quot;红茶&quot;</span>);
} <span class="hljs-keyword">else</span> <span class="hljs-keyword">if</span> (number == <span class="hljs-number">3</span>) {
  Console.WriteLine(<span class="hljs-string">&quot;绿茶&quot;</span>);
} <span class="hljs-keyword">else</span> <span class="hljs-keyword">if</span> (number == <span class="hljs-number">4</span>) {
  Console.WriteLine(<span class="hljs-string">&quot;雪碧&quot;</span>);
} <span class="hljs-keyword">else</span> <span class="hljs-keyword">if</span> (number == <span class="hljs-number">5</span>) {
  Console.WriteLine(<span class="hljs-string">&quot;可口可乐&quot;</span>);
} <span class="hljs-keyword">else</span> {
  Console.WriteLine(<span class="hljs-string">&quot;脉动&quot;</span>);
}
</code></pre>
<p>当嵌套的 if 比较少时（三个以内），用 if 编写程序会比较简洁。<br>
但是当选择的分支比较多时，嵌套的 if 语句层数就会很多，导致程序冗长，可读性下降。<br>
因此C#语言提供 switch 语句来处理多分支选择。</p>
<p><img src="/static/img/afa08c5979e5e8ab40865a6532d4428a.image.webp" alt="image.png"></p>
<p>:::info{title=&quot;switch分支的语法格式&quot;}</p>
<p>switch(变量)<br>
{<br>
case 条件1:<br>
做...<br>
case 条件2:<br>
做...<br>
case 条件3:<br>
做...<br>
default:<br>
做...<br>
}<br>
:::</p>
<p>:::note{title=&quot;注&quot;}<br>
1、default可以没有 ， default 后面也可以什么都不写，但是后面的冒号和分号千万不能省略，省略了就是语法错误。<br>
2、每⼀个case后⾯⼀般都有break<br>
3、 switch 后面括号内的“表达式”必须是整数类型。也就是说可以是 int 型变量、char 型变量，也可以直接是整数或字符常量，哪怕是负数都可以。但绝对不可以是实数，float 型变量、double 型变量、小数常量通通不行，全部都是语法错误。<br>
4、switch 下的 case 和 default 必须用一对大括号{}括起来。</p>
<p>:::</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-built_in">int</span> number = Convert.ToInt32(Console.ReadLine());
<span class="hljs-keyword">switch</span> (number) {
<span class="hljs-keyword">case</span> <span class="hljs-number">1</span>:
  Console.WriteLine(<span class="hljs-string">&quot;矿泉水&quot;</span>);
  Console.WriteLine(<span class="hljs-string">&quot;矿泉水&quot;</span>);
  <span class="hljs-keyword">break</span>;
<span class="hljs-keyword">case</span> <span class="hljs-number">2</span>:
  Console.WriteLine(<span class="hljs-string">&quot;红茶&quot;</span>);
  <span class="hljs-keyword">break</span>;
<span class="hljs-keyword">case</span> <span class="hljs-number">3</span>:
  Console.WriteLine(<span class="hljs-string">&quot;绿茶&quot;</span>);
  <span class="hljs-keyword">break</span>;
<span class="hljs-keyword">case</span> <span class="hljs-number">4</span>:
  Console.WriteLine(<span class="hljs-string">&quot;雪碧&quot;</span>);
  <span class="hljs-keyword">break</span>;
<span class="hljs-keyword">case</span> <span class="hljs-number">5</span>:
  Console.WriteLine(<span class="hljs-string">&quot;可口可乐&quot;</span>);
  <span class="hljs-keyword">break</span>;
<span class="hljs-keyword">case</span> <span class="hljs-number">6</span>:
  Console.WriteLine(<span class="hljs-string">&quot;脉动&quot;</span>);
  <span class="hljs-keyword">break</span>;
<span class="hljs-literal">default</span>:
  Console.WriteLine(<span class="hljs-string">&quot;没有你要购买的商品&quot;</span>);
  <span class="hljs-keyword">break</span>;
}
</code></pre>
<p>❓问题  2<br>
输⼊今天是星期⼏，输出今天要上的课程。</p>
<table>
<thead>
<tr>
<th>日期</th>
<th>课程</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>PLC</td>
</tr>
<tr>
<td>2</td>
<td>PLC</td>
</tr>
<tr>
<td>3</td>
<td>C++</td>
</tr>
<tr>
<td>4</td>
<td>C++</td>
</tr>
<tr>
<td>5</td>
<td>C++</td>
</tr>
<tr>
<td>6</td>
<td>Scratch</td>
</tr>
<tr>
<td>7</td>
<td>Scratch</td>
</tr>
</tbody>
</table>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-built_in">int</span> weekNum = Convert.ToInt32(Console.ReadLine());

<span class="hljs-keyword">switch</span> (weekNum) {
<span class="hljs-keyword">case</span> <span class="hljs-number">1</span>:
<span class="hljs-keyword">case</span> <span class="hljs-number">2</span>:
  Console.WriteLine(<span class="hljs-string">&quot;PLC&quot;</span>);
  <span class="hljs-keyword">break</span>;
<span class="hljs-keyword">case</span> <span class="hljs-number">3</span>:
<span class="hljs-keyword">case</span> <span class="hljs-number">4</span>:
<span class="hljs-keyword">case</span> <span class="hljs-number">5</span>:
  Console.WriteLine(<span class="hljs-string">&quot;C++&quot;</span>);
  <span class="hljs-keyword">break</span>;
<span class="hljs-keyword">case</span> <span class="hljs-number">6</span>:
<span class="hljs-keyword">case</span> <span class="hljs-number">7</span>:
  Console.WriteLine(<span class="hljs-string">&quot;Scratch&quot;</span>);
  <span class="hljs-keyword">break</span>;
}
</code></pre>
<p>If和switch的异同</p>
<ol>
<li>同<br>
都是分⽀语句</li>
<li>不同<br>
if适合范围判断<br>
switch适合多条件的是否相等的判断</li>
</ol>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code>
<span class="hljs-built_in">int</span> x = <span class="hljs-number">1</span>, a = <span class="hljs-number">0</span>, b = <span class="hljs-number">0</span>;
<span class="hljs-keyword">switch</span> (x) {
<span class="hljs-keyword">case</span> <span class="hljs-number">0</span>:
<span class="hljs-keyword">case</span> <span class="hljs-number">1</span>:
  a++;
<span class="hljs-keyword">case</span> <span class="hljs-number">2</span>:
  a++, b++;
}
Console.WriteLine(<span class="hljs-string">&quot;a=&quot;</span> + a + <span class="hljs-string">&quot; b=&quot;</span> + b);
</code></pre>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/自我提升">自我提升</category>
        </item>
        <item>
            <title><![CDATA[错误调试]]></title>
            <link>http://blog.wilsonzy.cn/post/27</link>
            <guid>http://blog.wilsonzy.cn/post/27</guid>
            <pubDate>Fri, 30 May 2025 11:46:21 GMT</pubDate>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <!-- more -->
<p>错误调试<br>
1、通过Exception 查找错误</p>
<ul>
<li>a、运⾏时异常</li>
<li>b、编译时候的异常<br>
通过IDE可以检查出来</li>
</ul>
<p>:::note{title=&quot;注&quot;}<br>
语法错误<br>
程序逻辑错误<br>
:::</p>
<p>2、一些数学习惯导致的异常<br>
✌ a + 1;</p>
<p>:::danger{title=&quot;警告&quot;}<br>
表达式应为 a=a+1；<br>
:::</p>
<p>✌ double res = (3+8)/2;</p>
<p>:::danger{title=&quot;警告&quot;}<br>
double 为浮点数类型<br>
正确应为</p>
<pre><code>double res = (3 + 8) / 2.0;或者
double res = (3 + 8)*1.0 / 2;
</code></pre>
<p>:::</p>
<p>✌ if(18&lt;age&lt;30)</p>
<p>:::danger{title=&quot;警告&quot;}<br>
c#中多者向比较需要将其分开比较</p>
<p>正确应为</p>
<pre><code>if (18 &lt;= age &amp;&amp; age &lt; 30) 
</code></pre>
<p>:::</p>
<p>✌ if(age=4)<br>
:::danger{title=&quot;警告&quot;}<br>
c#中需要用两个等号== 来表示数学中的两者=关系</p>
<p>正确应为</p>
<pre><code>if(age==4) 
</code></pre>
<p>:::</p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/自我提升">自我提升</category>
        </item>
        <item>
            <title><![CDATA[练习题3]]></title>
            <link>http://blog.wilsonzy.cn/post/26</link>
            <guid>http://blog.wilsonzy.cn/post/26</guid>
            <pubDate>Fri, 30 May 2025 11:47:37 GMT</pubDate>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <!-- more -->
<p>✍编程题：<br>
阅读以下程序：</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-built_in">int</span> x;  
x = Convert.ToInt32(Console.ReadLine());  
<span class="hljs-keyword">if</span>(x--&lt;<span class="hljs-number">5</span>) Console.WriteLine(x);  
<span class="hljs-keyword">else</span> Console.WriteLine(x++); 
</code></pre>
<p>程序运⾏后，如果从键盘上输⼊5，则输出结果是（ ）<br>
A、3<br>
B、4  ✔<br>
C、5<br>
D、6</p>
<p>✍编程题：<br>
分析以下程序，下列说法正确的是（ ）</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-built_in">int</span> x=<span class="hljs-number">5</span>,a=<span class="hljs-number">0</span>,b=<span class="hljs-number">0</span>;  
<span class="hljs-keyword">if</span>(x=a+b) Console.WriteLine(<span class="hljs-string">&quot;****&quot;</span>);  
<span class="hljs-keyword">else</span> Console.WriteLine(<span class="hljs-string">&quot;####&quot;</span>); 
</code></pre>
<p>A、由于语法错误，不能通过编译  ✔<br>
B、通过编译，但是没有结果<br>
C、输出****<br>
D、输出####</p>
<p>✍编程题:<br>
代码填空，求两个值中的较⼩值：（ ）</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-built_in">int</span> a,b;
a = Convert.ToInt32(Console.WriteLine());
b = Convert.ToInt32(Console.WriteLine());
<span class="hljs-keyword">if</span>( ? )
{
Console.WriteLine(a);
}<span class="hljs-keyword">else</span>{
Console.WriteLine(b);
}
</code></pre>
<p>A、a&lt;b  ✔<br>
B、a&gt;b<br>
C、a&lt;=b<br>
D、a&gt;=b</p>
<p>✍编程题：<br>
执⾏下⾯程序后，运⾏结果是（ ）</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-built_in">int</span> x=<span class="hljs-number">21</span>,y=<span class="hljs-number">1</span>;
<span class="hljs-keyword">if</span>(x%<span class="hljs-number">3</span> == <span class="hljs-number">0</span> &amp;&amp; x%<span class="hljs-number">7</span> == <span class="hljs-number">0</span>){
x--;
Console.WriteLine(x);
}<span class="hljs-keyword">else</span>{
x++；  
    Console.WriteLine(x);
}
</code></pre>
<p>A、 21<br>
B、 22<br>
C、 20  ✔<br>
D、 0</p>
<p>✍编程题：排序<br>
输⼊三个整数，把这三个数，从⼩到⼤排序后输出。<br>
输⼊：8 3 5 输出 3 5 8</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-built_in">int</span> a = Convert.ToInt32(Console.ReadLine());
<span class="hljs-built_in">int</span> b = Convert.ToInt32(Console.ReadLine());
<span class="hljs-built_in">int</span> c = Convert.ToInt32(Console.ReadLine());

<span class="hljs-comment">// a b     b c       a  b</span>
<span class="hljs-keyword">if</span> (a &gt; b) {
  <span class="hljs-built_in">int</span> temp = a;
  a = b;
  b = temp;
}
<span class="hljs-keyword">if</span> (b &gt; c) {
  <span class="hljs-built_in">int</span> temp = b;
  b = c;
  c = temp;
}
<span class="hljs-keyword">if</span> (a &gt; b) {
  <span class="hljs-built_in">int</span> temp = a;
  a = b;
  b = temp;
}
Console.WriteLine(a + <span class="hljs-string">&quot; &quot;</span> + b + <span class="hljs-string">&quot; &quot;</span> + c);
</code></pre>
<p>✍编程题<br>
输⼊⼀个⼩数m和整数k（k为0,1）<br>
如果k为0，则输出m保留整数部分。<br>
如果k为1，则输出m，四舍五⼊保留1为⼩数。<br>
样例<br>
输⼊ 4.65 0 输出 4<br>
输⼊ 4.65 1 输出4.7</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-built_in">double</span> m = Convert.ToDouble(Console.ReadLine());
<span class="hljs-built_in">int</span> k = Convert.ToInt32(Console.ReadLine());
<span class="hljs-keyword">if</span> (k == <span class="hljs-number">0</span>) {
  <span class="hljs-built_in">int</span> temp = (<span class="hljs-built_in">int</span>) m;
  Console.WriteLine(temp);
} <span class="hljs-keyword">else</span> {
  <span class="hljs-comment">// 3.2543 + 0.05  =3.3043  *10  33.043  33 /10  3.3</span>
  <span class="hljs-built_in">double</span> temp = ((<span class="hljs-built_in">int</span>)((m + <span class="hljs-number">0.05</span>) * <span class="hljs-number">10</span>)) / <span class="hljs-number">10.0</span>;
  Console.WriteLine(temp);
}
</code></pre>
<p>✍编程题：<br>
如何判断⼀个单字符a是不是数字？（ ）<br>
A、if(a&gt;='0'&amp;&amp;a&lt;='9') ✔<br>
B、if(a&gt;=0&amp;&amp;a&lt;=9)<br>
C、if(a&gt;='0'||a&lt;='9')<br>
D、if(a&gt;='0'&amp;&amp; a&lt;='9')  ✔</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-built_in">char</span> c = Convert.ToChar(Console.ReadLine());
<span class="hljs-comment">// a-z</span>
<span class="hljs-keyword">if</span> (c &gt;= <span class="hljs-string">&#x27;a&#x27;</span> &amp;&amp; c &lt;= <span class="hljs-string">&#x27;z&#x27;</span>) {
  Console.WriteLine(<span class="hljs-string">&quot;你输入的是一个小写字母&quot;</span>);
} <span class="hljs-keyword">else</span> {
  Console.WriteLine(<span class="hljs-string">&quot;你输入的不是一个小写字母&quot;</span>);
}
</code></pre>
<p>✍编程题：<br>
代码填空，输⼊⼀个字符，判断是不是数字，输出对应的数值：  （ ）</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-built_in">char</span> a；    
  a=Convert.ToChar(Console.ReadLine());  
<span class="hljs-keyword">if</span>(a&gt;=<span class="hljs-string">&#x27;0&#x27;</span>&amp;&amp;a&lt;=<span class="hljs-string">&#x27;9&#x27;</span>){  
______;  
} 
</code></pre>
<p>A、Console.WriteLine(a-'0');  ✔<br>
B、Console.WriteLine(a-0);<br>
C、Console.WriteLine(a+'0');<br>
D、Console.WriteLine(a-'0');  ✔</p>
<p>:::note{title=&quot;注&quot;}<br>
//0-9 对于ascll 48-57<br>
:::</p>
<p>✍编程题：<br>
如何判断⼀个数a是否同时能被3和5整除？（ ）<br>
A、if(a%3==0||a%5==0)<br>
B、if(a%3==0&amp;&amp;a%5==0)  ✔<br>
C、if(a/3==0&amp;&amp;a/5==0)<br>
D、if(a/3==0||a/5==0)</p>
<p>✍编程题：<br>
将三个数排序⾄少需要⽐较⼏次？（ ）<br>
A、1<br>
B、2<br>
C、3  ✔<br>
D、4</p>
<p>✍编程题：<br>
下列代码输出的结果是： ( )<br>
double a=3.14;<br>
int b=(int)a;<br>
Console.WriteLine(b);<br>
A、 3.140<br>
B、 3.14<br>
C、 3.1<br>
D、 3  ✔</p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/自我提升">自我提升</category>
        </item>
        <item>
            <title><![CDATA[if条件分⽀语句]]></title>
            <link>http://blog.wilsonzy.cn/post/25</link>
            <guid>http://blog.wilsonzy.cn/post/25</guid>
            <pubDate>Fri, 30 May 2025 11:50:58 GMT</pubDate>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <!-- more -->
<h2>if 条件语句</h2>
<p>:::info{title=&quot;if 条件语法格式&quot;}<br>
if(布尔表达式){<br>
表达式为真时要执行的代码;<br>
}<br>
:::<br>
<img src="/static/img/4e1779dde47846e7380bfbabe5c433a0.image.webp" alt="image.png"><br>
📕⽰例1<br>
有⼀个游乐场，只有年龄不⼤于16岁的⻘少年可以进⼊，判断输⼊的年龄是否符合条件。</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-built_in">int</span> age = Convert.ToInt32(Console.ReadLine());
<span class="hljs-comment">//if语句</span>
<span class="hljs-keyword">if</span> (age &lt;= <span class="hljs-number">16</span>) {
  <span class="hljs-comment">//当满足条件的时候会执行</span>
  Console.WriteLine(<span class="hljs-string">&quot;可以进入&quot;</span>);
} <span class="hljs-keyword">else</span> {
  Console.WriteLine(<span class="hljs-string">&quot;年龄太大，不可以进&quot;</span>);
}
</code></pre>
<p>📕⽰例2<br>
让⽤户输⼊⼀个整数，判断是奇数还是偶数，并打印出来。</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-built_in">int</span> number = Convert.ToInt32(Console.ReadLine());
<span class="hljs-comment">//</span>
<span class="hljs-keyword">if</span> (number % <span class="hljs-number">2</span> == <span class="hljs-number">1</span>) {
  Console.WriteLine(<span class="hljs-string">&quot;奇数&quot;</span>);
} <span class="hljs-keyword">else</span> {
  Console.WriteLine(<span class="hljs-string">&quot;偶数&quot;</span>);
}
</code></pre>
<h2>if else 语句</h2>
<p>:::info{title=&quot;if else 语法格式&quot;}<br>
if(布尔表达式){<br>
表达式为真时要执行的代码;<br>
}else{<br>
表达式为假时要执行的代码;<br>
}<br>
:::</p>
<p><img src="/static/img/56034ebacfa192ee4b5820a0f0f40ecc.image.webp" alt="image.png"></p>
<p>📕⽰例3<br>
商场举办了送礼活动，年龄在18岁到30岁才可以参与活动，年龄是奇数才可以获得奖品。</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-built_in">int</span> age = Convert.ToInt32(Console.ReadLine());
<span class="hljs-keyword">if</span> (age &gt;= <span class="hljs-number">18</span> &amp;&amp; age &lt;= <span class="hljs-number">30</span> &amp;&amp; age % <span class="hljs-number">2</span> == <span class="hljs-number">1</span>) {
  Console.WriteLine(<span class="hljs-string">&quot;获得奖品&quot;</span>);
}
<span class="hljs-keyword">if</span> (age &gt;= <span class="hljs-number">18</span> &amp;&amp; age &lt;= <span class="hljs-number">30</span>) {
  Console.WriteLine(<span class="hljs-string">&quot;可以参加活动&quot;</span>);
  <span class="hljs-keyword">if</span> (age % <span class="hljs-number">2</span> == <span class="hljs-number">1</span>) {
    Console.WriteLine(<span class="hljs-string">&quot;获得奖品&quot;</span>);
  } <span class="hljs-keyword">else</span> {
    Console.WriteLine(<span class="hljs-string">&quot;没有获得奖品&quot;</span>);
  }
} <span class="hljs-keyword">else</span> {
  Console.WriteLine(<span class="hljs-string">&quot;不可以参加活动&quot;</span>);
}
</code></pre>
<p>📕⽰例4<br>
输⼊考试成绩（0-100），<br>
如果90-100，评级为A<br>
如果70-89，评级为B<br>
如果60-69，评级为C<br>
如果⼩于60，评级为D，<br>
根据输⼊的成绩，输出评级</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-built_in">int</span> score = Convert.ToInt32(Console.ReadLine());

<span class="hljs-comment">// if if else      if else if </span>
方法<span class="hljs-number">1</span>：
<span class="hljs-keyword">if</span> (score &gt;= <span class="hljs-number">90</span>) {
  Console.WriteLine(<span class="hljs-string">&quot;A&quot;</span>);
} <span class="hljs-keyword">else</span> <span class="hljs-keyword">if</span> (score &gt;= <span class="hljs-number">70</span>) {
  Console.WriteLine(<span class="hljs-string">&quot;B&quot;</span>);
} <span class="hljs-keyword">else</span> <span class="hljs-keyword">if</span> (score &gt;= <span class="hljs-number">60</span>) {
  Console.WriteLine(<span class="hljs-string">&quot;C&quot;</span>);
} <span class="hljs-keyword">else</span> {
  Console.WriteLine(<span class="hljs-string">&quot;D&quot;</span>);
}
方法<span class="hljs-number">2</span>：
<span class="hljs-keyword">if</span> (score &gt;= <span class="hljs-number">90</span>) {
  Console.WriteLine(<span class="hljs-string">&quot;A&quot;</span>);
}
<span class="hljs-keyword">if</span> (score &gt;= <span class="hljs-number">70</span> &amp;&amp; score &lt;= <span class="hljs-number">89</span>) {
  Console.WriteLine(<span class="hljs-string">&quot;B&quot;</span>);
}
<span class="hljs-keyword">if</span> (score &gt;= <span class="hljs-number">60</span> &amp;&amp; score &lt;= <span class="hljs-number">69</span>) {
  Console.WriteLine(<span class="hljs-string">&quot;C&quot;</span>);
}
<span class="hljs-keyword">if</span> (score &lt; <span class="hljs-number">60</span>) {
  Console.WriteLine(<span class="hljs-string">&quot;D&quot;</span>);
}
</code></pre>
<h2>if else if 语句</h2>
<p>:::info{title=&quot;if else if 语法格式&quot;}<br>
if(布尔表达式 1){<br>
布尔表达式 1 为真时要执行的代码;<br>
}else if(布尔表达式 2){<br>
布尔表达式 2 为真时要执行的代码;<br>
}else if(布尔表达式 3){<br>
布尔表达式 3 为真时要执行的代码;<br>
}<br>
...<br>
else{<br>
当所有布尔表达式都为假时要执行的代码；<br>
}<br>
:::</p>
<p><img src="/static/img/4bf9a2e50292b9e6ea6236ec6c655e76.image.webp" alt="image.png"></p>
<p>📕⽰例5<br>
输⼊平⾯直⾓坐标系中的⼀个坐标值，判断这个点是位于哪⼀个象限、原点或坐标轴上。</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-built_in">int</span> x = Convert.ToInt32(Console.ReadLine());
<span class="hljs-built_in">int</span> y = Convert.ToInt32(Console.ReadLine());
<span class="hljs-keyword">if</span> (x &gt; <span class="hljs-number">0</span> &amp;&amp; y &gt; <span class="hljs-number">0</span>) {
  Console.WriteLine(<span class="hljs-string">&quot;位于第一象限&quot;</span>);
} <span class="hljs-keyword">else</span> <span class="hljs-keyword">if</span> (x &lt; <span class="hljs-number">0</span> &amp;&amp; y &gt; <span class="hljs-number">0</span>) {
  Console.WriteLine(<span class="hljs-string">&quot;位于第二象限&quot;</span>);
} <span class="hljs-keyword">else</span> <span class="hljs-keyword">if</span> (x &lt; <span class="hljs-number">0</span> &amp;&amp; y &lt; <span class="hljs-number">0</span>) {
  Console.WriteLine(<span class="hljs-string">&quot;位于第三象限&quot;</span>);
} <span class="hljs-keyword">else</span> <span class="hljs-keyword">if</span> (x &gt; <span class="hljs-number">0</span> &amp;&amp; y &lt; <span class="hljs-number">0</span>) {
  Console.WriteLine(<span class="hljs-string">&quot;位于第四象限&quot;</span>);
} <span class="hljs-keyword">else</span> <span class="hljs-keyword">if</span> (<span class="hljs-number">0</span> == x &amp;&amp; y != <span class="hljs-number">0</span>) {
  Console.WriteLine(<span class="hljs-string">&quot;位于y轴&quot;</span>);
} <span class="hljs-keyword">else</span> <span class="hljs-keyword">if</span> (<span class="hljs-number">0</span> == y &amp;&amp; x != <span class="hljs-number">0</span>) {
  Console.WriteLine(<span class="hljs-string">&quot;位于x轴&quot;</span>);
} <span class="hljs-keyword">else</span> {
  Console.WriteLine(<span class="hljs-string">&quot;位于原点&quot;</span>);
}
</code></pre>
<p>📕⽰例6<br>
输⼊三⾓形的三条边 a 、b 和c，判断是否可以组成三⾓形。</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-built_in">int</span> a = Convert.ToInt32(Console.ReadLine());
<span class="hljs-built_in">int</span> b = Convert.ToInt32(Console.ReadLine());
<span class="hljs-built_in">int</span> c = Convert.ToInt32(Console.ReadLine());

<span class="hljs-keyword">if</span> (a + b &gt; c &amp;&amp; a + c &gt; b &amp;&amp; b + c &gt; a) {
  Console.WriteLine(<span class="hljs-string">&quot;可以组成三角形&quot;</span>);
} <span class="hljs-keyword">else</span> {
  Console.WriteLine(<span class="hljs-string">&quot;不可以组成三角形&quot;</span>);
}
</code></pre>
<p>📕⽰例7<br>
输⼊⼀个年份，判断该年是不是闰年。是的话输出Yes，不是的话输出No。</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-built_in">int</span> year = Convert.ToInt32(Console.ReadLine());
<span class="hljs-keyword">if</span> ((year % <span class="hljs-number">4</span> == <span class="hljs-number">0</span> &amp;&amp; year % <span class="hljs-number">100</span> != <span class="hljs-number">0</span>) || year % <span class="hljs-number">400</span> == <span class="hljs-number">0</span>) {
  Console.WriteLine(<span class="hljs-string">&quot;是闰年&quot;</span>);
} <span class="hljs-keyword">else</span> {
  Console.WriteLine(<span class="hljs-string">&quot;不是闰年&quot;</span>);
}
</code></pre>
<p>📕⽰例8<br>
输⼊⼀个⾮零整数，判断是正数还是负数，并输出它的绝对值。</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-built_in">int</span> number = Convert.ToInt32(Console.ReadLine());
<span class="hljs-keyword">if</span> (number &lt; <span class="hljs-number">0</span>) {
  Console.WriteLine(<span class="hljs-number">0</span> - number);
} <span class="hljs-keyword">else</span> {
  Console.WriteLine(number);
}
</code></pre>
<p>📕⽰例9<br>
最⼤值：输⼊三个整数，求这个三个数中最⼤值的平⽅。</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-built_in">int</span> a = Convert.ToInt32(Console.ReadLine());
<span class="hljs-built_in">int</span> b = Convert.ToInt32(Console.ReadLine());
<span class="hljs-built_in">int</span> c = Convert.ToInt32(Console.ReadLine());
<span class="hljs-built_in">int</span> max = a;
<span class="hljs-keyword">if</span> (b &gt; max) {
  max = b;
}
<span class="hljs-keyword">if</span> (c &gt; max) {
  max = c;
}
Console.WriteLine(c * c);
</code></pre>
<p>📕⽰例10<br>
任意给出两个⼤写英⽂字⺟，⽐较他们的⼤⼩。规定 A、B、C、....Z依次从⼩到⼤。</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-built_in">char</span> a = Convert.ToChar(Console.ReadLine());
<span class="hljs-built_in">char</span> b = Convert.ToChar(Console.ReadLine());
<span class="hljs-keyword">if</span> (a &gt; b) {
  Console.WriteLine(<span class="hljs-string">&quot;{0}&gt;{1}&quot;</span>, a, b);
} <span class="hljs-keyword">else</span> {
  Console.WriteLine(<span class="hljs-string">&quot;{0}&lt;{1}&quot;</span>, a, b);
}
</code></pre>
<p>📕⽰例11<br>
体能测试！每个⼈都需要测试两项项⽬。请输⼊你的性别和抽到的号码，输出你的测试项⽬。</p>
<p><img src="/static/img/a3669896223c1bdb53b7956ecca45bbf.image.webp" alt="image.png"></p>
<p>样例输⼊ M 3 输出1000m 跳远<br>
样例输⼊ F 8 输出800m 仰卧起坐</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-built_in">char</span> sex = Convert.ToChar(Console.ReadLine());
<span class="hljs-built_in">int</span> number = Convert.ToInt32(Console.ReadLine());
<span class="hljs-keyword">if</span> (sex == <span class="hljs-string">&#x27;F&#x27;</span>) {
  <span class="hljs-comment">//Console.WriteLine(&quot;800M长跑&quot;);</span>
  <span class="hljs-built_in">string</span> project = <span class="hljs-string">&quot;800M长跑&quot;</span>;
  <span class="hljs-keyword">if</span> (number % <span class="hljs-number">2</span> == <span class="hljs-number">1</span>)
    <span class="hljs-comment">//Console.WriteLine(&quot;跳绳&quot;);</span>
    project += <span class="hljs-string">&quot; 跳绳&quot;</span>;
  <span class="hljs-keyword">else</span>
    <span class="hljs-comment">//Console.WriteLine(&quot;仰卧起坐&quot;);</span>
    project += <span class="hljs-string">&quot; 仰卧起坐&quot;</span>;
  Console.WriteLine(project);
} <span class="hljs-keyword">else</span> {
  Console.WriteLine(<span class="hljs-string">&quot;1000M长跑&quot;</span>);
  <span class="hljs-keyword">if</span> (number % <span class="hljs-number">2</span> == <span class="hljs-number">1</span>) {
    Console.WriteLine(<span class="hljs-string">&quot;跳远&quot;</span>);
  } <span class="hljs-keyword">else</span> {
    Console.WriteLine(<span class="hljs-string">&quot;俯卧撑&quot;</span>);
  }
}
</code></pre>
<p>:::note{title=&quot;注&quot;}<br>
分⽀语句只有⼀⾏的话，可以省略{}<br>
:::</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-built_in">int</span> x = <span class="hljs-number">5</span>, a = <span class="hljs-number">0</span>, b = <span class="hljs-number">0</span>; 
<span class="hljs-keyword">if</span> (x == a + b) Console.WriteLine(<span class="hljs-string">&quot;****&quot;</span>); 
<span class="hljs-keyword">else</span> Console.WriteLine(<span class="hljs-string">&quot;####&quot;</span>);
</code></pre>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/自我提升">自我提升</category>
        </item>
        <item>
            <title><![CDATA[练习题2]]></title>
            <link>http://blog.wilsonzy.cn/post/24</link>
            <guid>http://blog.wilsonzy.cn/post/24</guid>
            <pubDate>Fri, 30 May 2025 11:52:21 GMT</pubDate>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <!-- more -->
<p>✋编程题：在int a=0的条件下，运⾏下列哪个选项后，a的结果为1（ ）<br>
A、 a++  ✔<br>
B、 a+1<br>
C、 a=a+1  ✔<br>
D、 a+=1  ✔</p>
<p>✋编程题：下⾯表达式的结果为真还是假？<br>
条件：int a=0;<br>
表达式：（a=0）&amp;&amp;(a&lt;1)<br>
A、 假<br>
B、 真  ✔</p>
<p>✋编程题：<br>
int a=1,b=2;<br>
执⾏下列哪个语句后，⽆法将a赋值为b ( )<br>
A、a=b;  ✔<br>
B、b=a;<br>
C、b==a;  ✔<br>
D、a==b;  ✔</p>
<p>✋编程题<br>
从键盘输⼊⼀个三位的正整数，按数字的相反顺序输出。</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-comment">//  123 </span>
<span class="hljs-comment">// 123/10=12</span>
<span class="hljs-built_in">int</span> number = Convert.ToInt32(Console.ReadLine());
<span class="hljs-built_in">int</span> ge = number % <span class="hljs-number">10</span>;
<span class="hljs-built_in">int</span> shi = (number / <span class="hljs-number">10</span>) % <span class="hljs-number">10</span>;
<span class="hljs-built_in">int</span> bai = number / <span class="hljs-number">100</span>;
Console.WriteLine(<span class="hljs-string">&quot;&quot;</span> + ge + shi + bai);
</code></pre>
<p>✋编程题 - 加密和解密<br>
B国每次发送的电报都是⼀个五位数组成的，这个五位数的⼗位和千位组成的两位数，就是对应<br>
的电报内容，帮助B国对数据进⾏解密。<br>
⽰例：<br>
29472<br>
9和7<br>
97<br>
a</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-comment">//23452</span>
<span class="hljs-built_in">int</span> number = Convert.ToInt32(Console.ReadLine());
<span class="hljs-built_in">int</span> shi = (number / <span class="hljs-number">10</span>) % <span class="hljs-number">10</span>;
<span class="hljs-built_in">int</span> qian = (number / <span class="hljs-number">1000</span>) % <span class="hljs-number">10</span>;
<span class="hljs-built_in">int</span> numberNew = qian * <span class="hljs-number">10</span> + shi;
<span class="hljs-built_in">char</span> c = (<span class="hljs-built_in">char</span>) numberNew;
Console.WriteLine(c);
</code></pre>
<p>✋下⾯的运⾏结果是：</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-built_in">int</span> a = <span class="hljs-number">3</span>;
<span class="hljs-built_in">int</span> b = a++ + a++; <span class="hljs-comment">//b=3 + a++ ;a=4</span>
Console.WriteLine(b)； <span class="hljs-comment">//b=3 + 4=7 ;a=5</span>
</code></pre>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-built_in">int</span> a = <span class="hljs-number">3</span>;
<span class="hljs-built_in">int</span> b = a++ + (++a);<span class="hljs-comment">//b=3 + (++a) ;a=4</span>
Console.WriteLine(b);<span class="hljs-comment">//b=3 + 5=8 ;a=5</span>
</code></pre>
<p>✋编程题<br>
输⼊数学的分数，和英语的分数，判断是否可以获得奖励，只有数学和英语分数都考到90分才<br>
有奖励。</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-built_in">int</span> mathScore = Convert.ToInt32(Console.ReadLine());
<span class="hljs-built_in">int</span> englishScore = Convert.ToInt32(Console.ReadLine());
<span class="hljs-built_in">bool</span> isGetAward = mathScore &gt;= <span class="hljs-number">90</span> &amp;&amp; englishScore &gt;= <span class="hljs-number">90</span>;
Console.WriteLine(isGetAward);
</code></pre>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/自我提升">自我提升</category>
        </item>
        <item>
            <title><![CDATA[运算符]]></title>
            <link>http://blog.wilsonzy.cn/post/23</link>
            <guid>http://blog.wilsonzy.cn/post/23</guid>
            <pubDate>Fri, 30 May 2025 11:53:09 GMT</pubDate>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <!-- more -->
<h2>数学运算符（算术运算符）</h2>
<p>:::info{title=&quot;假设变量 A 的值为 10，变量 B 的值为 20，则：&quot;}</p>
<p>:::</p>
<table>
<thead>
<tr>
<th>运算符</th>
<th>描述</th>
<th>实例</th>
</tr>
</thead>
<tbody>
<tr>
<td>+</td>
<td>把两个操作数相加</td>
<td>A + B 将得到 30</td>
</tr>
<tr>
<td>-</td>
<td>从第一个操作数中减去第二个操作数</td>
<td>A - B 将得到 -10</td>
</tr>
<tr>
<td>*</td>
<td>把两个操作数相乘</td>
<td>A * B 将得到 200</td>
</tr>
<tr>
<td>/</td>
<td>分子除以分母</td>
<td>B / A 将得到 2</td>
</tr>
<tr>
<td>%</td>
<td>取模运算符，整除后的余数</td>
<td>B % A 将得到 0</td>
</tr>
<tr>
<td>++</td>
<td>自增运算符，整数值增加 1</td>
<td>A++ 将得到 11</td>
</tr>
<tr>
<td>--</td>
<td>自减运算符，整数值减少 1</td>
<td>A-- 将得到 9</td>
</tr>
</tbody>
</table>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code> <span class="hljs-built_in">int</span> a = <span class="hljs-number">23</span> + <span class="hljs-number">23</span>;
 <span class="hljs-built_in">int</span> b = <span class="hljs-number">2</span> - <span class="hljs-number">10</span>;
 <span class="hljs-built_in">int</span> c = <span class="hljs-number">4</span> * <span class="hljs-number">23</span>;
 <span class="hljs-built_in">int</span> d = <span class="hljs-number">45</span> / <span class="hljs-number">10</span>;
 <span class="hljs-built_in">int</span> e = <span class="hljs-number">45</span> % <span class="hljs-number">10</span>;
 <span class="hljs-built_in">double</span> f = <span class="hljs-number">45</span> / <span class="hljs-number">10.0</span>;

 Console.WriteLine(a);
 Console.WriteLine(b);
 Console.WriteLine(c);
 Console.WriteLine(d);
 Console.WriteLine(e);
 Console.WriteLine(f);
</code></pre>
<p>:::note{title=&quot;注&quot;}<br>
取模（求余） % （注意⽤于整数，⽤于⼩数的时候 容易出现不精确的问题 4.3%1）<br>
:::</p>
<p>✍问题？<br>
设计⼀个算法，可以把任意⼀个两位数分离它的个位和⼗位上⾯的数字。<br>
⽐如 78，它的个位是8，⼗位是7。</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-built_in">int</span> num = <span class="hljs-number">39</span>;
<span class="hljs-built_in">int</span> ge = num % <span class="hljs-number">10</span>;
<span class="hljs-built_in">int</span> shi = num / <span class="hljs-number">10</span>;
Console.WriteLine(<span class="hljs-string">&quot;个位是{0},十位数是{1}&quot;</span>,ge, shi);
</code></pre>
<h2></h2>
<h2>赋值运算符</h2>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code> <span class="hljs-built_in">int</span> a = <span class="hljs-number">0</span>;
 a += <span class="hljs-number">10</span>;<span class="hljs-comment">//a = a+10;</span>
 Console.WriteLine(a);
 a -= <span class="hljs-number">5</span>;<span class="hljs-comment">//5</span>
 Console.WriteLine(a);
 a *= <span class="hljs-number">3</span>;<span class="hljs-comment">//15</span>
 Console.WriteLine(a);
 a /= <span class="hljs-number">6</span>;<span class="hljs-comment">//2</span>
 Console.WriteLine(a);
 a %= <span class="hljs-number">2</span>;<span class="hljs-comment">//0</span>
 Console.WriteLine(a);
</code></pre>
<p>下⾯两种情况的结果</p>
<p>情况1：<br>
int a = 0;<br>
a += 1;<br>
Console.WriteLine(a); 〓0</p>
<p>情况2<br>
int a = 0;<br>
a = a + 1;<br>
Console.WriteLine(a);〓1</p>
<h2>⾃增 ⾃减运算符</h2>
<p>++ —</p>
<p>⽰例：<br>
a— a++<br>
—a ++a<br>
放在前⾯和后⾯的区别 - 在于放在表达式⾥⾯的时候</p>
<ul>
<li>c = a++: 先将 a 赋值给 c，再对 a 进行自增运算。</li>
<li>c = ++a: 先将 a 进行自增运算，再将 a 赋值给 c 。</li>
<li>c = a--: 先将 a 赋值给 c，再对 a 进行自减运算。</li>
<li>c = --a: 先将 a 进行自减运算，再将 a 赋值给 c 。</li>
</ul>
<p>情况1<br>
int a = 3;<br>
int b = a++;<br>
Console.WriteLine(b); 〓3</p>
<p>情况2<br>
int a = 3;<br>
int b = ++a;<br>
Console.WriteLine(b);    〓4</p>
<h2>关系运算符</h2>
<p>（⽐较运算符 - ⽐较两个数字的⼤⼩）<br>
结果<br>
满⾜条件 = 真 = 1<br>
不满⾜条件 = 假 = 0</p>
<table>
<thead>
<tr>
<th>符号</th>
<th>条件</th>
</tr>
</thead>
<tbody>
<tr>
<td>==</td>
<td>判断左边是否等于右边</td>
</tr>
<tr>
<td>&gt;</td>
<td>判断左边是否⼤于右边</td>
</tr>
<tr>
<td>&lt;</td>
<td>判断左边是否⼩右边</td>
</tr>
<tr>
<td>&gt;=</td>
<td>判断左边是否⼤于或等于右边</td>
</tr>
<tr>
<td>&lt;=</td>
<td>判断左边是否⼩于或等于右边</td>
</tr>
<tr>
<td>!=</td>
<td>判断左边是否不等于右边</td>
</tr>
</tbody>
</table>
<p>布尔类型<br>
bool isRight;<br>
真 = true = 1 = 满⾜<br>
假 = false = 0 = 不满⾜</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-built_in">bool</span> a = <span class="hljs-number">45</span> == <span class="hljs-number">67</span>;
<span class="hljs-built_in">bool</span> b = <span class="hljs-number">45</span> &lt; <span class="hljs-number">67</span>;
<span class="hljs-built_in">bool</span> c = <span class="hljs-number">45</span> &lt;= <span class="hljs-number">45</span>;
<span class="hljs-built_in">bool</span> d = <span class="hljs-number">45</span> &gt; <span class="hljs-number">67</span>;
<span class="hljs-built_in">bool</span> e = <span class="hljs-number">45</span> &gt;= <span class="hljs-number">67</span>;
<span class="hljs-built_in">bool</span> f = <span class="hljs-number">45</span> != <span class="hljs-number">67</span>;

Console.WriteLine(a);
Console.WriteLine(b);
Console.WriteLine(c);
Console.WriteLine(d);
Console.WriteLine(e);
Console.WriteLine(f);
</code></pre>
<p>判断下⾯的结果（两边可以是数字，也可以是变量）<br>
3==4<br>
3!=4  ✔<br>
5&lt;6  ✔<br>
5&lt; = 5  ✔<br>
6&gt;5  ✔<br>
6&gt; = 7</p>
<p>逻辑运算符<br>
下表显示了 C# 支持的所有逻辑运算符。假设变量 A 为布尔值 true，变量 B 为布尔值 false，则：</p>
<table>
<thead>
<tr>
<th>运算符</th>
<th>描述</th>
<th>实例</th>
</tr>
</thead>
<tbody>
<tr>
<td>&amp;&amp;</td>
<td>称为逻辑与运算符。如果两个操作数都非零，则条件为真。</td>
<td>(A &amp;&amp; B) 为假</td>
</tr>
<tr>
<td>‖</td>
<td>称为逻辑或运算符。如果两个操作数中有任意一个非零，则条件为真。</td>
<td>(A ‖ B) 为真</td>
</tr>
<tr>
<td>!</td>
<td>称为逻辑非运算符。用来逆转操作数的逻辑状态。如果条件为真则逻辑非运算符将使其为假。</td>
<td>!(A &amp;&amp; B) 为真</td>
</tr>
</tbody>
</table>
<p>A B必须是⼀个布尔值，或者布尔表达式</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code> &amp;&amp;和   ||或    !非
 <span class="hljs-built_in">bool</span> a = (<span class="hljs-number">3</span> &lt; <span class="hljs-number">4</span>) &amp;&amp; (<span class="hljs-number">9</span> &lt; <span class="hljs-number">10</span>);<span class="hljs-comment">// true &amp;&amp; false</span>
 <span class="hljs-built_in">bool</span> a = <span class="hljs-literal">true</span> &amp;&amp; <span class="hljs-literal">true</span>;<span class="hljs-comment">// true &amp;&amp; false</span>
 <span class="hljs-built_in">bool</span> b = (<span class="hljs-number">3</span> &lt; <span class="hljs-number">2</span>) &amp;&amp; (<span class="hljs-number">9</span> &lt; <span class="hljs-number">7</span>);
 <span class="hljs-built_in">bool</span> c = !(<span class="hljs-number">4</span> &lt; <span class="hljs-number">7</span>);
 <span class="hljs-built_in">bool</span> c = !<span class="hljs-literal">true</span>;<span class="hljs-comment">//取反</span>
 Console.WriteLine(a);
 Console.WriteLine(b);
 Console.WriteLine(c);
</code></pre>
<p>✍问题？<br>
输⼊⼀个⼈的年龄，判断这个是是否是⻘年，⻘年标准是18-60岁。</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-built_in">int</span> age = Convert.ToInt32(Console.ReadLine());
<span class="hljs-built_in">bool</span> isYoung = (age &gt;= <span class="hljs-number">18</span>) &amp;&amp; (age &lt;= <span class="hljs-number">60</span>);
Console.WriteLine(isYoung);
</code></pre>
<p>赋值运算符 - 简写<br>
下表列出了 C# 支持的赋值运算符：</p>
<table>
<thead>
<tr>
<th>运算符</th>
<th>描述</th>
<th>实例</th>
</tr>
</thead>
<tbody>
<tr>
<td>=</td>
<td>简单的赋值运算符，把右边操作数的值赋给左边操作数</td>
<td>C = A + B 将把 A + B 的值赋给 C</td>
</tr>
<tr>
<td>+=</td>
<td>加且赋值运算符，把右边操作数加上左边操作数的结果赋值给左边操作数</td>
<td>C += A 相当于 C = C + A</td>
</tr>
<tr>
<td>-=</td>
<td>减且赋值运算符，把左边操作数减去右边操作数的结果赋值给左边操作数</td>
<td>C -= A 相当于 C = C - A</td>
</tr>
<tr>
<td>*=</td>
<td>乘且赋值运算符，把右边操作数乘以左边操作数的结果赋值给左边操作数</td>
<td>C *= A 相当于 C = C * A</td>
</tr>
<tr>
<td>/=</td>
<td>除且赋值运算符，把左边操作数除以右边操作数的结果赋值给左边操作数</td>
<td>C /= A 相当于 C = C / A</td>
</tr>
<tr>
<td>%=</td>
<td>求模且赋值运算符，求两个操作数的模赋值给左边操作数</td>
<td>C %= A 相当于 C = C % A</td>
</tr>
<tr>
<td>&lt;&lt;=</td>
<td>左移且赋值运算符</td>
<td>C &lt;&lt;= 2 等同于 C = C &lt;&lt; 2</td>
</tr>
<tr>
<td>&gt;&gt;=</td>
<td>右移且赋值运算符</td>
<td>C &gt;&gt;= 2 等同于 C = C &gt;&gt; 2</td>
</tr>
<tr>
<td>&amp;=</td>
<td>按位与且赋值运算符</td>
<td>C &amp;= 2 等同于 C = C &amp; 2</td>
</tr>
<tr>
<td>^=</td>
<td>按位异或且赋值运算符</td>
<td>C ^= 2 等同于 C = C ^ 2</td>
</tr>
<tr>
<td>｜=</td>
<td>按位或且赋值运算符</td>
<td>C ｜= 2 等同于 C = C ｜ 2</td>
</tr>
</tbody>
</table>
<p>运算符的优先级<br>
⽰例<br>
3 * 3+4 * 2的结果<br>
17</p>
<p>下表将按运算符优先级从高到低列出各个运算符，具有较高优先级的运算符出现在表格的上面，具有较低优先级的运算符出现在表格的下面。在表达式中，较高优先级的运算符会优先被计算。</p>
<p>优先级简易概括：<strong>有括号先括号，后乘除在加减，然后位移再关系，逻辑完后条件，最后一个逗号</strong> , 。</p>
<table>
<thead>
<tr>
<th>类别</th>
<th>运算符</th>
<th>结合性</th>
</tr>
</thead>
<tbody>
<tr>
<td>后缀</td>
<td>() [] -&gt; . ++ - -</td>
<td>从左到右</td>
</tr>
<tr>
<td>一元</td>
<td>+ - ! ~ ++ - - (type)* &amp; sizeof</td>
<td>从右到左</td>
</tr>
<tr>
<td>乘除</td>
<td>* / %</td>
<td>从左到右</td>
</tr>
<tr>
<td>加减</td>
<td>+ -</td>
<td>从左到右</td>
</tr>
<tr>
<td>移位</td>
<td>&lt;&lt; &gt;&gt;</td>
<td>从左到右</td>
</tr>
<tr>
<td>关系</td>
<td>&lt; &lt;= &gt; &gt;=</td>
<td>从左到右</td>
</tr>
<tr>
<td>相等</td>
<td>== !=</td>
<td>从左到右</td>
</tr>
<tr>
<td>位与 AND</td>
<td>&amp;</td>
<td>从左到右</td>
</tr>
<tr>
<td>位异或XOR</td>
<td>^</td>
<td>从左到右</td>
</tr>
<tr>
<td>位或OR</td>
<td>｜</td>
<td>从左到右</td>
</tr>
<tr>
<td>逻辑与AND</td>
<td>&amp;&amp;</td>
<td>从左到右</td>
</tr>
<tr>
<td>逻辑或OR</td>
<td>‖</td>
<td>从左到右</td>
</tr>
<tr>
<td>条件</td>
<td>?:</td>
<td>从右到左</td>
</tr>
<tr>
<td>赋值</td>
<td>= += -= *= /= %=&gt;&gt;= &lt;&lt;= &amp;= ^= ｜=</td>
<td>从右到左</td>
</tr>
<tr>
<td>逗号</td>
<td>,</td>
<td>从左到右</td>
</tr>
</tbody>
</table>
<p><strong>不需要记忆，通过（）控制优先级</strong></p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/自我提升">自我提升</category>
        </item>
        <item>
            <title><![CDATA[变量命名规范]]></title>
            <link>http://blog.wilsonzy.cn/post/22</link>
            <guid>http://blog.wilsonzy.cn/post/22</guid>
            <pubDate>Thu, 29 Feb 2024 13:36:07 GMT</pubDate>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <!-- more -->
<h2>变量研究</h2>
<p>🆙交换两个变量的值。</p>
<p>1、这样可以吗？<br>
int a = 4,b=7;<br>
a = b; 〓7<br>
b = a;  〓7</p>
<p>2、通过临时的容器<br>
temp = a;<br>
a = b;<br>
b = temp;</p>
<p>不借助第三个变量的情况下如何交换？⏫<br>
a = a + b ；<br>
b = a - b;<br>
a = a - b;</p>
<p>（变量名 ⽅法名 类名 命名空间名）</p>
<h2>命名规范和命名规则</h2>
<p>驼峰命名法（Camel命名法）<br>
⾸个单词的⾸字⺟⼩写，其余单词的⾸字⺟⼤写(enemyHp)</p>
<p>Pascal命名规范<br>
每个单词的第⼀个字⺟都⼤写(EnemyHp)<br>
如果使⽤到英⽂单词的缩写，全部使⽤⼤写(PI HP MP)</p>
<p><strong>变量使⽤Camel命名，⽅法和类使⽤Pascal命名规范</strong><br>
命名规则：命名不能和关键字重名（所有关键字都是⼩写）</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code> <span class="hljs-built_in">int</span> age;
 <span class="hljs-built_in">int</span> myAge;<span class="hljs-built_in">int</span> xiaomingAge;
 <span class="hljs-built_in">double</span> ememyHp;
 <span class="hljs-built_in">double</span> PI;
 <span class="hljs-built_in">int</span> HP;
 <span class="hljs-built_in">int</span> MP;
</code></pre>
<h2>关键字</h2>
<p>保留关键字</p>
<p><img src="/static/img/cc09c3a5b00450ee034d41f9b1b984d0.image.webp" alt="image.png"></p>
<p>上下文关键字</p>
<p><img src="/static/img/b8f10f742f976a364c6785cfba947366.image.webp" alt="image.png"></p>
<h2>字符串格式化输出</h2>
<p><img src="/static/img/ca2229893454f449dae4284450a5a918.image.webp" alt="image.png"><br>
Console.WriteLine(&quot;两个数相加{0}+{1}={2}&quot;,3,34,34);<br>
Console.WriteLine(&quot;两个数相加{0}+{0}={2}&quot;,3,34,34);<br>
Console.WriteLine(&quot;两个数相加{0}+{0}={3}&quot;,3,34,34);  //  不能取一个没有的值</p>
<p>不同数据类型都是有⼀个存储的范围的</p>
<h2>常量</h2>
<p>:::tip{title=&quot;什么是常量 &quot;}<br>
常量可以被当作常规的变量，只是它们的值在定义后不能被修改。<br>
:::</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code>x = <span class="hljs-number">11</span>, y = <span class="hljs-number">22</span>
c1 = <span class="hljs-number">5</span>, c2 = <span class="hljs-number">10</span>
</code></pre>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/自我提升">自我提升</category>
        </item>
        <item>
            <title><![CDATA[获取用户输入]]></title>
            <link>http://blog.wilsonzy.cn/post/21</link>
            <guid>http://blog.wilsonzy.cn/post/21</guid>
            <pubDate>Thu, 29 Feb 2024 13:20:02 GMT</pubDate>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <!-- more -->
<p>🙉我们⽬前接触到的都是输出（把程序中的数据显⽰出来），那怎么输⼊呢（从键盘输⼊某个<br>
数据进去）？</p>
<p>如何输⼊⼀个数字到程序中？</p>
<p>Console.ReadLine();</p>
<p>⌨练习1：让⽤户输⼊两个整数，计算这两个整数的和，并输出出来。（简单计算器）</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-function"><span class="hljs-keyword">static</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Main</span>(<span class="hljs-params"><span class="hljs-built_in">string</span>[] args</span>)</span>
{
<span class="hljs-built_in">int</span> a = Convert.ToInt32(Console.ReadLine());<span class="hljs-comment">//输入一个数并转换成整数后赋值给a</span>
<span class="hljs-built_in">int</span> b = Convert.ToInt32(Console.ReadLine());
Console.WriteLine(a + b);
}

</code></pre>
<p>⌨练习2：让⽤户输⼊两个整数，计算这两个整数的平均数，并输出出来。</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code> <span class="hljs-built_in">int</span> a = Convert.ToInt32(Console.ReadLine());
 <span class="hljs-built_in">int</span> b = Convert.ToInt32(Console.ReadLine());
 <span class="hljs-built_in">double</span> c = (a + b) / <span class="hljs-number">2.0</span>;
 Console.WriteLine(c);
</code></pre>
<p>⌨练习：将a元钱分给b个⼈，每个⼈可以分得多少，a、b都是整数。</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code> <span class="hljs-built_in">double</span> c = a / b;
</code></pre>
<p>⌨练习3：下列命名，哪些是正确的。<br>
1、Siki  ✔<br>
2、little_mount  ✔<br>
3、_abc  ✔<br>
4、 34count<br>
5、myFood  ✔<br>
6、baidu.com</p>
<p>⌨练习4：声明⼀个⼩数类型变量，给变量赋值5.52，请在括号⾥填写⼀句正确的指令语句（<br>
）<br>
A、 double a=5.52;  ✔<br>
B、 double a=5.52<br>
C、 int a=5.52<br>
D、 int a=5.52;</p>
<p>⌨练习5：程序运⾏后，输出结果是( )<br>
int a=1;<br>
int b=2;<br>
a=a+1;  〓2<br>
a=a+b;  〓4<br>
Console.WriteLine(a);</p>
<p>A、 4  ✔<br>
B、 5<br>
C、 6<br>
D、 7</p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/自我提升">自我提升</category>
        </item>
        <item>
            <title><![CDATA[字符类型和整数类型]]></title>
            <link>http://blog.wilsonzy.cn/post/20</link>
            <guid>http://blog.wilsonzy.cn/post/20</guid>
            <pubDate>Fri, 30 May 2025 11:54:55 GMT</pubDate>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <!-- more -->
<h2>怎么声明字符变量</h2>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-built_in">char</span> a =<span class="hljs-string">&#x27;a&#x27;</span>;
</code></pre>
<p>每⼀个字符在内存中存储的时候其实都是⼀个整数。（所有的数据在计算机中存储的时候，都是以数字-⼆进制的形式存储的）<br>
每⼀个字符都对应⼀个整数。<br>
遵循ASCII表</p>
<p><img src="/static/img/2ed442d29f461973f7161893648b3ea2.image.webp" alt="image.png"></p>
<p>:::tip{title=&quot;问题？&quot;}<br>
怎么把⼀个字符转成对应的数字？<br>
:::</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code> <span class="hljs-built_in">char</span> a =<span class="hljs-string">&#x27;a&#x27;</span>;  
 <span class="hljs-built_in">int</span> b = a ;  
 Console.WriteLine(b);   <span class="hljs-comment">//97  </span>
</code></pre>
<p>:::tip{title=&quot;问题？&quot;}<br>
怎么把⼀个数字转成对应的字符？<br>
:::</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code> <span class="hljs-built_in">int</span> a = <span class="hljs-number">97</span> ; 
 <span class="hljs-built_in">char</span> b =(<span class="hljs-built_in">char</span>) a;  
 Console.WriteLine(a);
 Console.WriteLine(b);   <span class="hljs-comment">//b</span>
</code></pre>
<h2>转义字符</h2>
<p>什么是转义字符？</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-built_in">char</span> a = <span class="hljs-string">&#x27;\n&#x27;</span>;
<span class="hljs-built_in">char</span> b = <span class="hljs-string">&#x27;\\&#x27;</span>;
<span class="hljs-built_in">char</span> c = <span class="hljs-string">&#x27;\&quot;&#x27;</span>;
<span class="hljs-built_in">char</span> d = <span class="hljs-string">&#x27;\t&#x27;</span>;
<span class="hljs-built_in">char</span> e = <span class="hljs-string">&#x27;\&#x27;&#x27;</span>;
</code></pre>
<p>如何不识别转义字符 通过@（只有&quot;）</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code>Console.WriteLine(<span class="hljs-string">&quot;c:\\a&quot;</span> +
<span class="hljs-string">&quot;\\b\\c&quot;</span>);
Console.WriteLine(<span class="hljs-string">@&quot;c:\a\b\c&quot;</span>);
Console.WriteLine(<span class="hljs-string">@&quot;c:\\a\\b\\c&quot;</span>);  

➤➤➤➤➤➤➤
c:\a\b\c
c:\a\b\c
c:\\a\\b\\c
</code></pre>
<h2>字符串类型</h2>
<p>如何声明</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-built_in">string</span> str = <span class="hljs-string">&quot;abc&quot;</span>;
</code></pre>
<p>字符串相加</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-built_in">string</span> str = <span class="hljs-string">&quot;123&quot;</span> + <span class="hljs-string">&quot;456&quot;</span>;
<span class="hljs-built_in">string</span> str2 = str + <span class="hljs-string">&quot;www&quot;</span>;
Console.WriteLine(<span class="hljs-string">&quot;www&quot;</span>+<span class="hljs-number">123</span>+str2);

➤➤➤➤➤➤➤
www123123456www
</code></pre>
<p>如果我们不想去识别字符串中的转义字符，可以在字符串前⾯加⼀个@符号<br>
（双引号 ”“代表⼀个引号 ）<br>
举例：&quot;I'm a good man. \n You are bad girl!&quot;,</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-built_in">string</span> str = <span class="hljs-string">@&quot;www.baidu.com &quot;&quot;
sdfds
   sdf
      sikisdfdsf&quot;</span>;
Console.WriteLine(str);  

➤➤➤➤➤➤➤
www.baidu.com <span class="hljs-string">&quot;
sdfds
   sdf
      sikisdfdsf
</span></code></pre>
<p>@字符的两个作⽤⽰例：<br>
1，默认⼀个字符串的定义是放在⼀⾏的，如果想要占⽤多⾏<br>
2，⽤字符串表⽰路径<br>
&quot;c:\xxx\xx\xxx.doc&quot;<br>
使⽤@&quot;c:\xxx\xx\xxx.doc&quot;更能读懂</p>
<p>转义字符有哪些<br>
<img src="/static/img/8a6d4f3cd0f79b962f8fdd5254aa268b.image.webp" alt="image.png"></p>
<h2>数据类型转换</h2>
<p>1、隐式类型转换<br>
将 int 类型的数据转换成 double 类型：</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-built_in">int</span> a = <span class="hljs-number">10</span>;
<span class="hljs-built_in">double</span> b = a;
</code></pre>
<p>2、显式类型转换<br>
显式类型转换也叫强制类型转换，这种转换需要使用(type)value的形式或者预定义函数显式的完成，显式转换需要用户明确的指定要转换的类型，而且在转换的过程中可能会造成数据丢失。</p>
<p>例如将 double 类型转换为 int 类型。</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-built_in">double</span> d = <span class="hljs-number">563.74</span>;
<span class="hljs-built_in">int</span> i;

<span class="hljs-comment">// 将 double 类型转换为 int</span>
i = (<span class="hljs-built_in">int</span>) d;
Console.WriteLine(<span class="hljs-string">&quot;转换前{0}，转换后{1}&quot;</span>, d, i);
<span class="hljs-comment">//转换前563.74，转换后563</span>
</code></pre>
<p>C#内置的类型转换方法，如下表所示：</p>
<table>
<thead>
<tr>
<th>方法</th>
<th>描述</th>
</tr>
</thead>
<tbody>
<tr>
<td>ToBoolean</td>
<td>将类型转换为布尔型</td>
</tr>
<tr>
<td>ToByte</td>
<td>将类型转换为字节类型</td>
</tr>
<tr>
<td>ToChar</td>
<td>将类型转换为单个 Unicode 字符类型</td>
</tr>
<tr>
<td>ToDateTime</td>
<td>将类型（整数或字符串类型）转换为日期时间的结构</td>
</tr>
<tr>
<td>ToDecimal</td>
<td>将浮点型或整数类型转换为十进制类型</td>
</tr>
<tr>
<td>ToDouble</td>
<td>将类型转换为双精度浮点型</td>
</tr>
<tr>
<td>ToInt16</td>
<td>将类型转换为 16 位整数类型</td>
</tr>
<tr>
<td>ToInt32</td>
<td>将类型转换为 32 位整数类型</td>
</tr>
<tr>
<td>ToInt64</td>
<td>将类型转换为 64 位整数类型</td>
</tr>
<tr>
<td>ToSbyte</td>
<td>将类型转换为有符号字节类型</td>
</tr>
<tr>
<td>ToSingle</td>
<td>将类型转换为小浮点数类型</td>
</tr>
<tr>
<td>ToString</td>
<td>将类型转换为字符串类型</td>
</tr>
<tr>
<td>ToType</td>
<td>将类型转换为指定类型</td>
</tr>
<tr>
<td>ToUInt16</td>
<td>将类型转换为 16 位无符号整数类型</td>
</tr>
<tr>
<td>ToUInt32</td>
<td>将类型转换为 32 位无符号整数类型</td>
</tr>
<tr>
<td>ToUInt64</td>
<td>将类型转换为 64 位无符号整数类型</td>
</tr>
</tbody>
</table>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/自我提升">自我提升</category>
        </item>
        <item>
            <title><![CDATA[变量]]></title>
            <link>http://blog.wilsonzy.cn/post/19</link>
            <guid>http://blog.wilsonzy.cn/post/19</guid>
            <pubDate>Fri, 30 May 2025 11:55:48 GMT</pubDate>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <!-- more -->
<p>不同的物品需要不同的容器<br>
鞋盒 ⽔杯 菜篮⼦</p>
<p>计算机中的数据<br>
整数 25 0 -7 6 457<br>
浮点数 3.0 0.3 -2.5<br>
字符 ‘a’ '.' '3'   'A'<br>
字符串 &quot;Hello&quot;</p>
<p>内存</p>
<p><img src="/static/img/0b3944004942ce0ff7043f7a0958adcd.image.webp" alt="image.png"></p>
<p>什么是内存</p>
<p><img src="/static/img/2c2a8f4272ed585fe2c02edba9df1f6f.image.webp" alt="image.png"><br>
每一个小单元格为内存地址</p>
<p>声明变量</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-built_in">int</span> age;
<span class="hljs-built_in">int</span>是整数类型， age是年龄
</code></pre>
<p>变量类型</p>
<ul>
<li>int 整数</li>
<li>double浮点</li>
<li>char字符类型</li>
<li>bool 布尔类型</li>
</ul>
<p>变量名</p>
<ul>
<li>英⽂字⺟</li>
<li>数字（不能开头）</li>
<li>下划线</li>
</ul>
<p>容器的名字最好描述容器⾥⾯装什么东西</p>
<p>🤚下⾯的东⻄如何命名<br>
年龄 计数器 平均数 ⾝⾼ 总和 温度</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-built_in">int</span> age;
age = <span class="hljs-number">10</span>;
<span class="hljs-built_in">int</span> count;
<span class="hljs-built_in">double</span> ave;
<span class="hljs-built_in">double</span> height;
<span class="hljs-built_in">double</span> total;
<span class="hljs-built_in">double</span> temperature;
</code></pre>
<p>赋值<br>
a=3 ;<br>
把某个数据装⼊容器的过程<br>
=在程序中是赋值操作，把右边的给左边。<br>
:::info{title=&quot;相关信息&quot;}<br>
容器小的可以赋值给容器大的<br>
:::</p>
<p>✋判断代码是否正确<br>
23 = a;<br>
a = b + c;      ☑<br>
x + y = z;<br>
a = a + 1;  ☑</p>
<p>✋判断结果<br>
int a = 1;<br>
a = 3 + 7 - 2;   〓 8<br>
int b = 3;<br>
b = b+1;  〓 4</p>
<p>✋判断结果<br>
int a = 4;<br>
int b = 3;<br>
int c = 0;<br>
//在上⾯的条件下 单独计算下⾯⾏的结果<br>
c = a;       〓 4<br>
c = a + b;   〓7<br>
c = a * a;   〓16<br>
a = a * a;   〓16<br>
a = a * b；  〓12</p>
<p>:::info{title=&quot;相关信息&quot;}<br>
🔔变量要先声明 再 使⽤<br>
🔔变量要先初始化 再使⽤（读取）<br>
类型一致<br>
右边的值所需要的容器大小小于等于左边的容器<br>
:::</p>
<p>假设 int a = 3, b = 8; 下⾯代码的输出结果是什么？<br>
1、 Console.WriteLine(a + b);<br>
2、 Console.WriteLine(“a + b”);<br>
3、 Console.WriteLine(a + &quot;+&quot; + b);<br>
4、 Console.WriteLine(&quot;a+b&quot; + a + b);<br>
5、 Console.WriteLine(&quot;a+b&quot; + (a + b));</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-built_in">int</span> a = <span class="hljs-number">3</span>, b = <span class="hljs-number">8</span>;
Console.WriteLine(a + b); <span class="hljs-comment">// 11</span>
Console.WriteLine(<span class="hljs-string">&quot;a + b&quot;</span>); <span class="hljs-comment">//a + b</span>
Console.WriteLine(a + <span class="hljs-string">&quot;+&quot;</span> + b); <span class="hljs-comment">// 3+8</span>
Console.WriteLine(<span class="hljs-string">&quot;a+b&quot;</span> + a + b); <span class="hljs-comment">//a+b38</span>
Console.WriteLine(<span class="hljs-string">&quot;a+b&quot;</span> + (a + b)); <span class="hljs-comment">// a+b11</span>
</code></pre>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/自我提升">自我提升</category>
        </item>
        <item>
            <title><![CDATA[代码编译]]></title>
            <link>http://blog.wilsonzy.cn/post/18</link>
            <guid>http://blog.wilsonzy.cn/post/18</guid>
            <pubDate>Thu, 29 Feb 2024 12:22:16 GMT</pubDate>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <!-- more -->
<p>⼀般代码的编译过程</p>
<p>代码编译：<br>
编译就是把我们写的代码翻译成机器可以识别（阅读）的⽂件<br>
⾼级语⾔→机器语⾔（0101组成的指令⽂件）</p>
<p>C#编译<br>
代码 → 程序集（exe dll）<br>
程序集在运⾏的时候会编译成机器指令（JIT 及时编译）</p>
<p>计算机基本知识（打开虚拟键盘）：<br>
计算机常⽤快捷键（针对代码和⽂件）<br>
Home End<br>
Shift Ctrl 选择<br>
Ctrl（Commond） + A S Z X C V<br>
Page Up PageDown - 不常⽤<br>
F5 、Ctrl+F5<br>
⽂字删除 Del Backspace<br>
插⼊模式和覆盖模式<br>
全⾓字符和半⾓字符 https://blog.csdn.net/viafcccy/article/details/84626964<br>
英⽂字符和中⽂字符</p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/自我提升">自我提升</category>
        </item>
        <item>
            <title><![CDATA[练习题1]]></title>
            <link>http://blog.wilsonzy.cn/post/17</link>
            <guid>http://blog.wilsonzy.cn/post/17</guid>
            <pubDate>Thu, 29 Feb 2024 12:22:37 GMT</pubDate>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <!-- more -->
<pre><code class="language-1">📒练习题1 - 判断对错
1 / /我是注释!
2 \\ 我是注释!
3 // 我是注释!
4 / *我是注释 * / 
5 \*我是注释 *\
6 /*我是注释*/
</code></pre>
<ul>
<li>[ √] 3 和 6</li>
</ul>
<pre><code class="language-2">📒练习题2
1、在字符串使⽤\n \t \\看下这两个的作⽤（换⾏符和制表符）

Console.WriteLine(&quot;He\tllo \nWorld!\\&quot;);

2、下⾯哪⼀条语句可以输出图⽚中的内容
a、Console.WriteLine(&quot;\n1\n2\t3&quot;);
b、Console.WriteLine(&quot;1\t2\n3\n&quot;);
c、Console.WriteLine(&quot;1\n\t2\n3&quot;)；
d、Console.WriteLine(&quot;1\n2\t3&quot;);
</code></pre>
<p><img src="/static/img/7986a2b8fe7638bcc28c71cf158ee066.image.webp" alt="image.png"></p>
<ul>
<li>[ √]  c</li>
</ul>
<pre><code class="language-3">📒练习题3 - 打印图形（旗⼦）
Console.WriteLine(&quot;*&quot;);
Console.WriteLine(&quot;**&quot;);
Console.WriteLine(&quot;***&quot;);
Console.WriteLine(&quot;****&quot;);
Console.WriteLine(&quot;*&quot;);
Console.WriteLine(&quot;*&quot;);
Console.WriteLine(&quot;*&quot;);
</code></pre>
<p><img src="/static/img/60fca446e01e2b6758b459b2f89f2904.image.webp" alt="image.png"></p>
<pre><code class="language-4">📒练习题4 - 打印图形（圣诞树）
Console.WriteLine(&quot;   *&quot;);
Console.WriteLine(&quot;  ***&quot;);
Console.WriteLine(&quot; *****&quot;);
Console.WriteLine(&quot;*******&quot;);
Console.WriteLine(&quot;   *&quot;);
Console.WriteLine(&quot;   *&quot;);
Console.WriteLine(&quot;   *&quot;);
</code></pre>
<p><img src="/static/img/690fed56196123f28f4e1f487ebe638e.image.webp" alt="image.png"></p>
<pre><code class="language-5">📒练习题5 - 下⾯哪⼀个可以正确打印出 \&quot;
a、Console.WriteLine(\&quot;);
b、Console.WriteLine(&quot;\&quot;&quot;)；
c、Console.WriteLine(&quot;\\&quot;&quot;);
d、Console.WriteLine(&quot;\\\&quot;&quot;);
</code></pre>
<p><img src="/static/img/bb691c2a45530112077a73ed4b70d4e3.image.webp" alt="image.png"></p>
<ul>
<li>[ √]  d</li>
</ul>
<pre><code class="language-6">📒练习题6 - 打印下⾯效果
 Console.WriteLine(&quot;SiKi说:\&quot;what is\\n\&quot;&quot;);
</code></pre>
<p><img src="/static/img/73f9c33c768a7a5ec2aa388b6ddb03e1.image.webp" alt="image.png"></p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/自我提升">自我提升</category>
        </item>
        <item>
            <title><![CDATA[第一个C#程序Hello World]]></title>
            <link>http://blog.wilsonzy.cn/post/16</link>
            <guid>http://blog.wilsonzy.cn/post/16</guid>
            <pubDate>Sun, 03 Mar 2024 09:28:13 GMT</pubDate>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <!-- more -->
<h2>一、编写第一个C#程序——Hello World</h2>
<ol>
<li>启动Microsoft Visual Studio 2022。</li>
<li>点击“文件”菜单，选择“新建”项，在弹出的子菜单中选择“项目”命令。</li>
<li>弹出“新建项目”对话框。</li>
<li>在“最近的模板”下面点击“Visual C#”项，在中间的“模板”窗口中选择“控制台应用程序”项，在底部“名称”文本框中输入项目名称“Hello World”，点击“浏览”按钮，选择项目保存的位置“F:\VStudio2022\”。</li>
<li>点击“确定”按钮，弹出下面的“Hello World”窗口：</li>
<li>在static void Main(string[] args)<br>
下面添加如下的代码（以“//”开头的是注释）：</li>
</ol>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-comment">// 第一个C#程序Hello World -</span>
<span class="hljs-comment">// Console类位于System命名空间，表示控制台应用程序的标准输入流、输出流和错误流</span>
<span class="hljs-comment">// Console.WriteLine方法将指定的数据（后跟当前行终止符）写入标准输出流</span>
<span class="hljs-comment">// Console.ReadLine方法使程序暂停下来，直到按下回车键才会继续运行</span>
Console.WriteLine(<span class="hljs-string">&quot;Hello World!&quot;</span>);
Console.ReadLine();
</code></pre>
<ol start="7">
<li>添加好代码的窗口如下所示：</li>
</ol>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-keyword">using</span> System;
<span class="hljs-keyword">using</span> System.Collections.Generic;
<span class="hljs-keyword">using</span> System.Linq;
<span class="hljs-keyword">using</span> System.Text;
<span class="hljs-keyword">namespace</span> <span class="hljs-title">HelloWorld</span>
{
<span class="hljs-keyword">class</span> <span class="hljs-title">Program</span>
{
<span class="hljs-function"><span class="hljs-keyword">static</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Main</span>(<span class="hljs-params"><span class="hljs-built_in">string</span>[] args</span>)</span>
{
<span class="hljs-comment">// 第一个C#程序Hello World -</span>
<span class="hljs-comment">// Console类位于System命名空间内，表示控制台应用程序的标准输入流、输出流</span>
<span class="hljs-comment">// 和错误流</span>
<span class="hljs-comment">// Console.WriteLine方法将指定的数据（后跟当前行终止符）写入标准输出流</span>
<span class="hljs-comment">// Console.ReadLine方法使程序暂停下来，直到按下回车键才会继续运行</span>
Console.WriteLine(<span class="hljs-string">&quot;Hello World!&quot;</span>);
Console.ReadLine();
}
}
}
</code></pre>
<p>:::danger{title=&quot;s&quot;}<br>
注释可以省略！<br>
:::</p>
<ol start="8">
<li>选择“文件”菜单，点击“全部保存”命令，或者按下Ctrl+Shift+S快捷键，保存所有文件。</li>
<li>选择“调试”菜单，点击“启动调试”命令，或者按下F5键，运行程序。</li>
<li>运行结果如下：Hello World!</li>
<li>按下回车键（Enter），结束程序的运行。<br>
至此，第一个C#程序——Hello World编写成功！</li>
</ol>
<h2>二、程序结构</h2>
<p>C#语言的程序结构包括程序、命名空间、类型、成员和程序集。</p>
<ol>
<li>命名空间声明；</li>
<li>一个类（class）；</li>
<li>类方法；</li>
<li>类属性；</li>
<li>一个 Main 方法；</li>
<li>语句和表达式；</li>
<li>注释。</li>
</ol>
<ul>
<li>程序：C#程序包含一个或多个源文件。每一个C#程序由一个或多个类组成。所有的C#程序都必须封装在某个类中。</li>
<li>命名空间：程序中声明的类型、类型中包含的成员都能够被组织到命名空间中。</li>
<li>类型：类和接口是类型的例子。</li>
<li>成员：字段、方法、属性和事件是成员的例子。</li>
<li>程序集：程序集的文件扩展名一般是.exe（应用程序）或者.dll（类库）。当C#程序被编译时，它们会被打包到程序集中。</li>
</ul>
<p>:::note{title=&quot;注&quot;}</p>
<ul>
<li>C# 区分大小写；</li>
<li>所有语句和表达式都必须以英文的分号;结尾；</li>
<li>程序从 Main 函数开始执行；</li>
<li>程序文件名可以与类名不同；</li>
<li>代码中出现的{和}都是成对出现的，用来标记代码块，{ }中包裹的代码可以看作是一个整体。<br>
:::</li>
</ul>
<h2>三、代码分析</h2>
<ol>
<li>导入命名空间</li>
</ol>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-keyword">using</span> System; <span class="hljs-comment">// 命名空间</span>
<span class="hljs-keyword">using</span> System.Collections.Generic; <span class="hljs-comment">// 子命名空间</span>
<span class="hljs-keyword">using</span> System.Linq; <span class="hljs-comment">// 子命名空间</span>
<span class="hljs-keyword">using</span> System.Text; <span class="hljs-comment">// 子命名空间</span>
上述代码使用<span class="hljs-keyword">using</span>指令导入命名空间，以便使用类型而不用再指定命名空间。  
编译器会在<span class="hljs-keyword">using</span>指令指定的命名空间中查找没有在当前命名空间中定义，但是在代码中引用的类。
就是说，类必须位于命名空间中。要么它在导入的命名空间中；要么它在当前的命名空间中定义。
在Program.cs文件中使用<span class="hljs-keyword">using</span>的原因是下面要使用一个库类System.Console。  
<span class="hljs-keyword">using</span> System指令允许把这个类简写为Console。  
几乎所有的C<span class="hljs-meta">#程序都使用System命名空间中的类，所以所有的代码文件都包含有using System;语句。</span>
</code></pre>
<ol start="2">
<li>声明命名空间</li>
</ol>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-keyword">namespace</span> <span class="hljs-title">HelloWorld</span>
{
}
</code></pre>
<p>使用namespace关键字声明了一个命名空间范围。其后花括号中的所有代码都被认为是在这个命名空间中。</p>
<ol start="3">
<li>命名空间有两种，</li>
</ol>
<ul>
<li>一种是系统命名空间，</li>
<li>一种是用户自定义命名空间。</li>
</ul>
<p>一个源程序文件中可以包含多个命名空间；<br>
同一命名空间可以在多个源程序文件中定义。<br>
命名空间可以嵌套。同一命名空间中不允许定义重名的类型（类或者方法等）。<br>
同名的两个类如果在不同的命名空间中，相互之间是不会混淆的。</p>
<p>1）命名空间的引用：</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-keyword">using</span> 命名空间名称;一般写在源文件的最前面。  
</code></pre>
<p>2）命名空间的声明：</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-keyword">namespace</span> 命名空间名称  
{
}
</code></pre>
<p>3）在程序中访问其它命名空间中的方法：</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code>&lt;Namespace&gt;[.&lt;Subnamespace&gt;].类型  
例如：
System.Console.WriteLine(<span class="hljs-string">&quot;Hello World&quot;</span>);
在这里，C<span class="hljs-meta">#用点“.”操作符表示了语句的从属关系。</span>
 System：命名空间
 Console：类
 WriteLine：方法
</code></pre>
<ol start="4">
<li>声明类</li>
</ol>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-keyword">class</span> <span class="hljs-title">Program</span>
{
}
</code></pre>
<p>使用class关键字声明一个类，类的名称为Program。<br>
因为该类位于HelloWorld命名空间中，所以该类的完整名称应该是HelloWorld.Program。<br>
类的声明包括class关键字，后面是类名和一对花括号。与类相关的所有代码都应放在这对花括号中。</p>
<ol start="5">
<li>声明Main方法</li>
</ol>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code><span class="hljs-function"><span class="hljs-keyword">static</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Main</span>(<span class="hljs-params"><span class="hljs-built_in">string</span>[] args</span>)</span>
{
<span class="hljs-comment">// 应用程序功能代码实现位置</span>
声明类的Main方法：
<span class="hljs-keyword">static</span>：返回值的类型。
<span class="hljs-keyword">void</span>：返回值。
Main：方法名称。
<span class="hljs-built_in">string</span>[] args：“Main”方法的参数。这是一个字符串数组。
</code></pre>
<p>:::info{title=&quot;相关信息&quot;}<br>
“Main”方法是每一个C#应用程序的入口，<br>
C#要求每个程序必须且只能有一个“Main”方法,<br>
“Main”方法必须放在任意一个类中。对于被调用的“Main”方法来说，它所在的类不需要被实例化。<br>
如果有多个“Main”方法，编译器就会返回一个错误！<br>
:::</p>
<p>“Main”方法的声明与结构如下：</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code>方法一：不带参数，返回<span class="hljs-function"><span class="hljs-keyword">void</span>

<span class="hljs-keyword">static</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Main</span>()</span>
{
<span class="hljs-comment">// ...</span>
}
方法二：不带参数，返回<span class="hljs-function"><span class="hljs-built_in">int</span>

<span class="hljs-keyword">static</span> <span class="hljs-built_in">int</span> <span class="hljs-title">Main</span>()</span>
{
<span class="hljs-comment">// ...</span>
<span class="hljs-keyword">return</span> <span class="hljs-number">0</span>;
}
方法三：带参数，返回<span class="hljs-function"><span class="hljs-keyword">void</span>

<span class="hljs-keyword">static</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Main</span>(<span class="hljs-params"><span class="hljs-built_in">string</span>[] args</span>)</span>
{
<span class="hljs-comment">// ...</span>
}
方法四：带参数，返回<span class="hljs-function"><span class="hljs-built_in">int</span>

<span class="hljs-keyword">static</span> <span class="hljs-built_in">int</span> <span class="hljs-title">Main</span>(<span class="hljs-params"><span class="hljs-built_in">string</span>[] args</span>)</span>
{
<span class="hljs-comment">// ...</span>
<span class="hljs-keyword">return</span> <span class="hljs-number">0</span>;
}
</code></pre>
<ol start="6">
<li>语句代码</li>
</ol>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code>Console.WriteLine(<span class="hljs-string">&quot;Hello World!&quot;</span>);
Console.ReadLine();<span class="hljs-comment">//上面的代码调用了System.Console类的WriteLine()方法和ReadLine()方法。</span>
</code></pre>
<p>语句就是C#应用程序中执行操作的指令。C#中的语句必须用分号“;”结束。<br>
可以在一行中书写多条语句，也可以将一条语句书写在多行上。</p>
<ol start="7">
<li>
<p>花括号语法<br>
在C#中，花括号“{”和“}”是一种范围标志，是组织代码的一种方式，用于标识应用程序中逻辑上有紧密联系的一段代码的开始与结束。<br>
花括号可以嵌套，以表示应用程序中的不同层次。</p>
</li>
<li>
<p>C#注释</p>
</li>
</ol>
<p>:::note{title=&quot;快捷键 &quot;}<br>
注释ctrl+k ctrl+c<br>
取消注释ctrl+k ctrl+u<br>
:::</p>
<p>C#注释分为两种：单行注释和多行注释。<br>
1）单行注释<br>
用两个正斜线来表示“//”：<br>
// 右边的文字都是注释，直到一行结束。在“//”的后面不能使用反斜杠“\”。<br>
2）多行注释<br>
以“/<em>”开始，以“</em>/”结束：<br>
/* 这是<br>
多行<br>
注释<br>
......<br>
<em>/多行注释不能嵌套，即在分割符“/</em>”和“*/”之间不能再有分割符。<br>
3）文档注释<br>
在Visual Studio的开发工具中，目前只有C#编译器能够将注释转换成XML文件。方法是使用“///”符号。只要加上这个注释符号和代表XML元素的标记，就可以将注释转换成XML文件。所以文档注释又可以称为XML注释。</p>
<pre class="hljs" style="background: #f3f3f3; padding: 8px;><code>比如：
<span class="hljs-keyword">using</span> System;
<span class="hljs-keyword">using</span> System.Collections.Generic;
<span class="hljs-keyword">using</span> System.Linq;
<span class="hljs-keyword">using</span> System.Text;
<span class="hljs-keyword">namespace</span> <span class="hljs-title">HelloWorld</span>
{
<span class="hljs-comment"><span class="hljs-doctag">///</span> <span class="hljs-doctag">&lt;summary&gt;</span></span>
<span class="hljs-comment"><span class="hljs-doctag">///</span> 生成XML注释文件范例</span>
<span class="hljs-comment"><span class="hljs-doctag">///</span> <span class="hljs-doctag">&lt;/summary&gt;</span></span>
<span class="hljs-keyword">class</span> <span class="hljs-title">Program</span>
{
<span class="hljs-comment"><span class="hljs-doctag">///</span> <span class="hljs-doctag">&lt;summary&gt;</span></span>
<span class="hljs-comment"><span class="hljs-doctag">///</span> Program类，打印Hello World!</span>
<span class="hljs-comment"><span class="hljs-doctag">///</span> <span class="hljs-doctag">&lt;/summary&gt;</span></span>
<span class="hljs-comment"><span class="hljs-doctag">///</span> <span class="hljs-doctag">&lt;param name=&quot;args&quot;&gt;</span>命令行参数<span class="hljs-doctag">&lt;/param&gt;</span></span>
<span class="hljs-function"><span class="hljs-keyword">static</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Main</span>(<span class="hljs-params"><span class="hljs-built_in">string</span>[] args</span>)</span>
{
<span class="hljs-comment">// Console类位于System命名空间内，表示控制台应用程序的标准输入流、输出流</span>
<span class="hljs-comment">// 和错误流</span>
<span class="hljs-comment">// Console.WriteLine方法将指定的数据（后跟当前行终止符）写入标准输出流</span>
<span class="hljs-comment">// Console.ReadLine方法使程序暂停下来，直到按下回车键才会继续运行</span>
Console.WriteLine(<span class="hljs-string">&quot;Hello World!&quot;</span>);
Console.ReadLine();
}
}
}
</code></pre>
<p>注意：定义的XML元素一定要遵守XML的格式。如果编译成功，我们就可以找到HelloWorld.XML文件。</p>
<p>附：<br>
在Visual Studio 设置生成XML注释文件的步骤：<br>
以项目HelloWorld为例，点击“项目”菜单，选择“HelloWorld 属性”命令。<br>
在左边点击“生成”项，在右边选择“XML文档文件”项即可。<br>
XML文件名会自动填写，当然也可以自行修改。</p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/自我提升">自我提升</category>
        </item>
        <item>
            <title><![CDATA[VS2022环境启动前设置]]></title>
            <link>http://blog.wilsonzy.cn/post/15</link>
            <guid>http://blog.wilsonzy.cn/post/15</guid>
            <pubDate>Thu, 29 Feb 2024 12:23:05 GMT</pubDate>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <!-- more -->
<p>VS布局</p>
<p><img src="/static/img/5414056414729c04b429f2ec3d4d469e.image.webp" alt="image.png"></p>
<h3>1.设置界面主题：</h3>
<p><img src="/static/img/2c92935b3a21ab70bd3162f5687f046f.image.webp" alt="image.png"></p>
<p>在工具下拉菜单单击选项。</p>
<p><img src="/static/img/9b57ffb917e162edd37d6bfd5fef338a.image.webp" alt="image.png"><br>
在弹出的菜单中，默认选上了环境-常规。在颜色主题下拉菜单中有4个可选项。取消勾选显示状态栏（S），可以使选择的主题不需重启即刻生效。</p>
<p><img src="/static/img/5e898a189807419ab0cf69021eec18fa.image.webp" alt="image.png"></p>
<p><img src="/static/img/18e116eb47729815feb32ea512fa9388.image.webp" alt="image.png"></p>
<p>在选项-环境-字体和颜色中可以设置各显示项的字体以及颜色。</p>
<p>:::note{title=&quot;推荐字体&quot;}<br>
JetBrains Mono 、Consolas<br>
:::</p>
<h3>2.更改窗口布局</h3>
<p><img src="/static/img/505aa92c99b502d8acfdb242dde0c6d2.image.webp" alt="image.png"></p>
<p>当我们拖动窗口时，会自动出现可供选择的窗口位置（红色框框）。拖动到满意的位置释放鼠标即可。</p>
<p>例如：</p>
<p><img src="/static/img/d0df8fb027b257c162055f14f3d9d78a.image.webp" alt="image.png"><br>
拖动窗口</p>
<p><img src="/static/img/d51cb0ec9401b1ca1c3f99d3fdd46683.image.webp" alt="image.png"><br>
窗口停靠</p>
<p>将解决方案资源管理器窗口拖动到属性窗口中，方案资源管理器窗口以选项卡方式停靠到属性窗口中。</p>
<p><img src="/static/img/4413c46c404413a82f97cab2aae23ac7.image.webp" alt="image.png"></p>
<p>点击窗口右上角的X，会关闭窗口，关闭的窗口可以在视图-其他窗口（或者调试-窗口）中找回。</p>
<h3>3.VS恢复默认设置方法</h3>
<ul>
<li>
<p>选择 工具 ;</p> 
</li>
<li>
<p>在工具菜单中选择 visual studio命令提示;</p> 
</li>
<li>
<p>弹出一个命令提示符窗口;在窗口中输入devenv/resetsettings 回车即可。   
</li>
</ul>
<p>解决⽅案 → 项⽬（Project）</p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/自我提升">自我提升</category>
        </item>
        <item>
            <title><![CDATA[VS2022安装与使用]]></title>
            <link>http://blog.wilsonzy.cn/post/14</link>
            <guid>http://blog.wilsonzy.cn/post/14</guid>
            <pubDate>Wed, 23 Apr 2025 11:18:42 GMT</pubDate>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <!-- more -->  
<p>IDE （Integrated Development Environment）集成开发环境</p>
<p>编辑 编译 运⾏调试</p>
<p>Windows安装Visual Studio 2022</p>
<h3>1.1 下载地址</h3>
<p>首先登陆Visual Studio官网：Visual Studio官网，界面如下所示。<br>
然后选择需要的版本：社区版（免费）、专业版、企业版。<br>
如果是个人使用，社区版就够用了，我这里下载社区版。</p>
<p><img src="/static/img/74cf5396da7e5d285ce1774a358b7a62.image.webp" alt="image.png"></p>
<h3>1.2 开始安装</h3>
<p>点击下载社区版之后，会自动弹出一个窗口如下。我们选择存放下载文件的位置，这里自己选择一个位置即可。</p>
<p><img src="/static/img/cf02bea90cfb12f3cca7481ab2a38dee.image.webp" alt="image.png"><br>
下载结束后，我们双击开始安装。</p>
<p><img src="/static/img/dd8143d62abcda6d56c5fed0d7ca038c.image.webp" alt="image.png"><br>
然后稍微等待即可。</p>
<p><img src="/static/img/7570f77c194122c638e213be58fa3fb8.image.webp" alt="image.png"><br>
安装完成后会自动弹出以下窗口，根据你要使用Visual Studio所做的事情选择不同的功能集和工作负载，同时选择安装路径（建议使用默认安装路径）。在窗口的上方还有单个组件、语言包、安装位置这些选项，可以不用管，均为默认值。最后点击安装。</p>
<p><img src="/static/img/3b394ea2a819915274076545130671bd.image.webp" alt="image.png"></p>
<p>接着慢慢等待。</p>
<p><img src="/static/img/c3c4468805025c61ab0b593818e5348e.image.webp" alt="image.png"></p>
<p>安装完毕后，重启。</p>
<p><img src="/static/img/04b645497c4ee17d0ebbb8f75ed5ad4e.image.webp" alt="image.png"></p>
<h3>1.3 打开Visual Studio</h3>
<p>重启之后，我们在桌面鼠标右键点击，可以看到多了一个使用Visual Studio打开，我们点击就可以进入Visual Studio。</p>
<p><img src="/static/img/c817832f090478f415bd48105dff3d4b.image.webp" alt="image.png"></p>
<p>我们也可以在搜索栏输入Visual Studio 2022的前几个字母，就会出现我们安装的Visual Studio 2022，单击就可以进入。为了方便，我们可以右键点击，选择打开文件位置，将其发送到桌面快捷方式。</p>
<p><img src="/static/img/f502db375e9b3169644391c89e1b14f4.image.webp" alt="image.png"><br>
右键点击Visual Studio，选择发送到桌面快捷方式。</p>
<p><img src="/static/img/fb1a891b344d372da7b2e240672827d7.image.webp" alt="image.png"></p>
<p>于是桌面上就出现了Visual Studio 2022，可以直接双击进入。</p>
<p><img src="/static/img/b6eb50f7495dd74226af87fa5d73fd0e.image.webp" alt="image.png"></p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/自我提升">自我提升</category>
        </item>
        <item>
            <title><![CDATA[计算机与编程语言]]></title>
            <link>http://blog.wilsonzy.cn/post/13</link>
            <guid>http://blog.wilsonzy.cn/post/13</guid>
            <pubDate>Sun, 03 Mar 2024 09:22:23 GMT</pubDate>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <!-- more -->
<p>⼈：⾝体+灵魂（思想、意识、思维）<br>
计算机：硬件+软件<br>
硬件：</p>
<p><img src="/static/img/f00be348608aa752649091dd1bd9c9f3.image.webp" alt="image.png"><br>
⿏标、键盘、显⽰器、⻨克⻛、⽿机、摄像头</p>
<p>分类</p>
<ul>
<li>输⼊设备</li>
<li>存储、处理设备</li>
<li>输出设备</li>
</ul>
<p>软件<br>
浏览器、QQ、微信、王者荣耀...</p>
<p>程序语⾔（编程语⾔）<br>
世界上有哪些编程语⾔<br>
Tiobe排⾏榜 - https://www.tiobe.com/tiobe-index<br>
编程语⾔是整个程序世界的⼯具，利⽤编程语⾔开发出来的软件（游戏、⽹站、服务器）是利⽤<br>
⼯具⽣产的产品。<br>
就相当于汉语是⼯具，利⽤汉语写的诗词歌赋、⼩说、⽂学作品等是产品。<br>
单纯学习⼯具使⽤，是不能深⼊，利⽤⼯具⽣产了作品，才能更好的理解这个⼯具。</p>
<h2>.NET Framework是什么</h2>
<p>.NET Framework 是一个由微软设计和开发的软件框架，主要用来开发可以在 Windows 平台上运行的应用程序，例如 Web、Windows 和移动端的各种应用程序，框架中提供了包括网络、安全性、内存管理和类型安全在内的各种服务。微软在 2002 年发布了 .NET Framework 的第一个版本（.Net framework 1.0）。</p>
<h2>.NET Framework的构成</h2>
<p>.NET Framework 主要由四个部分构成，如下所示：<br>
公共语言运行库（CLR）；<br>
框架类库（FCL）；<br>
核心语言（WinForms、ASP.NET 和 ADO.NET）；<br>
其他模块（WCF、WPF、WF、Card Space、LINQ、Entity Framework、Parallel LINQ、Task Parallel Library 等）。</p>
<h2>C#是什么</h2>
<p>C# 的发音为“C Sharp”，是一门由微软开发并获得了 ECMA（欧洲计算机制造商协会）和 ISO（国际标准组织）批准的现代的、通用的、面向对象的编程语言。<br>
C# 由 Anders Hejlsberg 及其团队在《.Net Framework》的开发过程中开发，属于 .Net Framework 的一部分，可以用来编写 .Net 应用程序。C# 是专为 CLI （公共语言基础结构）设计的，CLI 由可执行代码和运行时环境组成，允许在不同的计算机平台和体系结构上使用各种高级语言。</p>
<p><img src="/static/img/2dbb22ec245a509842d6b4e83c9d588d.image.webp" alt="image.png">  C# 语言的创始人 Anders Hejlsberg</p>
<p>借助 C# 编程语言，我们可以开发不同类型且安全可靠的应用程序。<br>
例如：</p>
<ol>
<li>桌面应用程序；</li>
<li>网络应用程序；</li>
<li>分布式应用程序；</li>
<li>Web 服务应用程序；</li>
<li>数据库应用程序等。</li>
</ol>
<p>C#百度百科 - https://baike.baidu.com/item/c%23/195147?fr=aladdin<br>
C#简介 - https://www.runoob.com/csharp/csharp-intro.html<br>
C#发展历史 - https://docs.microsoft.com/zh-cn/dotnet/csharp/whats-new/csharp-versionhistory<br>
菜⻦教程 - https://www.runoob.com/csharp/csharp-tutorial.html   不能⽤来当做教程学习，可以当做字典查阅</p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/自我提升">自我提升</category>
        </item>
        <item>
            <title><![CDATA[心安即是归处]]></title>
            <link>http://blog.wilsonzy.cn/post/12</link>
            <guid>http://blog.wilsonzy.cn/post/12</guid>
            <pubDate>Sun, 25 Aug 2024 06:32:15 GMT</pubDate>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <!-- more -->
<p>知足知不足，有为有不为。</p>
<p>因为世事无常，心安即是归处。</p>
<p>愿你历经沧桑，永葆天真模样</p>
<p>纵浪大化中，不喜亦不惧。</p>
<p>应尽便须尽，无复独多虑。</p>
<p>世间从不缺少辉煌的花冠，</p>
<p>缺少的是不被花冠晕染的谈定。</p>
<p>多一些典雅，少一些粗暴；</p>
<p>多一些温柔，少一些莽撞；</p>
<p>多一些人性，少一些兽性。</p>
<p><a href="https://weread.qq.com/web/reader/c0b32d0071e8daf1c0b18f5">在线阅读</a></p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/生活哲学">生活哲学</category>
        </item>
        <item>
            <title><![CDATA[女面试官：你敢吻我一下吗？小伙的方法最为恰当，被录用]]></title>
            <link>http://blog.wilsonzy.cn/post/11</link>
            <guid>http://blog.wilsonzy.cn/post/11</guid>
            <pubDate>Sat, 25 Apr 2026 13:02:46 GMT</pubDate>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <!-- more -->
<p>  又是一年六月，又是一年毕业季。</p>
<p>  在这个高速发展又充满竞争的时代，找工作一直是一个难题。每天都有人找工作，每天也都有企业在招聘员工。有的人找不到工作，有的公司找不到员工。说起来也挺有戏剧性的，不过，在这个开放的时代，面试过程中的一些问题，也让人哭笑不得。我们不得不佩服做人力资源的朋友，他们果然有战略眼光，连问个问题都不同凡响。谁也想不到，一位女面试官竟然提出了这样的问题：“你敢吻我一下吗？”</p>
<p>  面对这位女面试官的问题，三个来面试的小伙反而觉得尴尬了。在一番斟酌后，一个小伙子站出来了，他说：“虽然您非常美丽，也很有气质，可是我们两个之间，并没有任何情感能促使我有胆量来吻你。所以，我承认，我不敢。如果我当众吻了你，你会觉得很不自然，我也会认为自己就是在耍流氓。”女面试官听了后，会心一笑。</p>
<p>  第二个小伙子则不一样了，他完全放飞了自我，上去就要吻这位面试官。可把女面试官吓坏了，立刻扭头回避。这位帅气的小伙子见到自己被拒绝，也就停止了。然后，小伙子说：“不好意思，吓到您了。”这女面试官可能也没有想到，这世界上还真就有这样的“愣头青”，自己也差点作茧自缚。不过还好，小伙子还是很有风度，并表示了歉意。</p>
<p>  第三个小伙灵机一动，如有神助。立刻发言：“您好，我敢吻你。并且，我还能保证我吻了你之后你并不会生气。所以，请您相信我，不需要回避。”说完之后，女面试官还没有反应过来，小伙已经开始“下手”了。他真的去吻了这位面试官一下，只不过，他把自己的手心对着自己的嘴巴。就这样，他完成了考验。事后，女面试官还真没有生气，并对他的做法很是称赞。</p>
<p>  女面试官是这样解释的：“我们招聘的是推销员，当你向客户推销一个产品的时候，你应该主动。因而，胆量是很重要的，不要觉得害羞或是怕被客户拒绝，就止步不前。不过，在推销的过程中，我们也应该尽量做到不让客户反感，把握住度同样很重要。很明显，最后这位先生的做法更完美。他做了，并且也不失风度。”</p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/个人成长">个人成长</category>
        </item>
        <item>
            <title><![CDATA[谁是真正的朋友？]]></title>
            <link>http://blog.wilsonzy.cn/post/10</link>
            <guid>http://blog.wilsonzy.cn/post/10</guid>
            <pubDate>Sun, 25 Aug 2024 06:32:38 GMT</pubDate>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <!-- more -->
<p>傍晚，一只羊独自在山坡上玩，突然从树木中窜出一只狼来，要吃羊，羊跳起来，拼命用角抵抗，并大声向朋友们求救。</p>
<p>牛在树丛中向这个地方望了一眼，发现是狼，跑走了；</p>
<p>马低头一看，发现是狼，一溜烟跑了；</p>
<p>驴停下脚步，发现是狼，悄悄溜下山坡；</p>
<p>猪经过这里，发现是狼，冲下山坡；</p>
<p>兔子一听，更是一箭一般离去。</p>
<p>山下的狗听见羊的呼喊，急忙奔上坡来，从草丛中闪出，一下咬住了狼的脖子，狼疼得直叫唤，趁狗换气时，怆惶逃走了。</p>
<p>回到家，朋友都来了，</p>
<p>牛说：你怎么不告诉我？我的角可以剜出狼的肠子。</p>
<p>马说：你怎么不告诉我？我的蹄子能踢碎狼的脑袋。</p>
<p>驴说：你怎么不告诉我？我一声吼叫，吓破狼的胆。</p>
<p>猪说：你怎么不告诉我？我用嘴一拱，就让它摔下山去。</p>
<p>兔子说：你怎么不告诉我？我跑得快，可以传信呀。</p>
<p>在这闹嚷嚷的一群中，唯独没有狗。</p>
<p>:::tip{title=&quot;启示&quot;}<br>
真正的友谊，不是花言巧语，而是关键时候拉你的那只手。那些整日围在你身边，让你有些许小欢喜的朋友，不一定是真正的朋友。而那些看似远离，实际上时刻关注着你的人，在你快乐的时候，不去奉承你；你在你需要的时候，默默为你做事的人，才是真正的朋友。而谁是你的真正的朋友，你又是谁的真正的朋友呢？<br>
:::</p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/个人成长">个人成长</category>
        </item>
        <item>
            <title><![CDATA[试着每天问自己十个问题]]></title>
            <link>http://blog.wilsonzy.cn/post/9</link>
            <guid>http://blog.wilsonzy.cn/post/9</guid>
            <pubDate>Sun, 25 Aug 2024 06:32:47 GMT</pubDate>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <!-- more -->
<p>  <strong>1、我拥有什么</strong>？</p>
<p>  通常我们会为自己没有的东西而苦恼，却看不到自己拥有的，如健康、可以听、可以看，可以爱与被爱，每天都有食物供我们享用等。</p>
<p>  正如那句口口相传的话所说的：“<strong>失去了才知道珍贵</strong>。”让我们走出哀怨，，这样就可以看到什么是我们拥有的。</p>
<p>  <strong>2、我应该为什么感到自豪</strong>**？</p>
<p>  为你已经取得的成绩而自豪。成绩不分大小，每一次成功都意味着向前迈出了一步。</p>
<p>  你可以为你刚刚战胜的一个挑战感到骄傲，可以为帮助了一个陌生人而感到幸福，可以为帮助了一个朋友露出微笑，也可以结识了新朋友或读了一本新书而感到高兴。</p>
<p>  总之一切都值得你自豪。</p>
<p>  <strong>3、我应对什么心存感激</strong>？</p>
<p>  每天都有很多事情让我们为之心存感激，同时也有很多人值得我们感谢，因为他们在无形中教会了我们一些事情。生活的每一天对于我们来说都是一份珍贵的礼物。</p>
<p>  <strong>4、我怎样才能充满活力</strong>？</p>
<p>  每天都要计划好做一些积极的事情，让自己充满活力。</p>
<p>  例如，可以给那些一直以来你都很欣赏，却很久未联系的人打电话，对工作伙伴说一些鼓励的话，保持微笑，或者留出时间和朋友玩耍等。</p>
<p>  <strong>5、我今天能解决什么问题</strong>？</p>
<p>  设法把那些原本想留到明天才解决的问题今天就解决掉，尽量在当天完成手边的工作，要敢于面对那些棘手的问题，并换一种角度看待它们。</p>
<p>  <strong>6、我能抛下过去的包袱吗</strong>？</p>
<p>  “过去的包袱”就是指那些长年累积起来的伤心的经历和怨气。背着这些沉重的生活包袱有什么用呢？</p>
<p>  建议你对过去做一个总结，把值得借鉴的经验保存起来，然后永远地卸下重负。</p>
<p>  <strong>7、我怎么换个角度看待问题</strong>？</p>
<p>  人往住都是别人的建议者，却不是自己的。很多时候，根本问题就是我们看待事物的方式。很多人都经历过为一件事苦恼不堪，过后又觉得可笑的时候。悲和喜只是我们看问题的角度不同而已。</p>
<p>  <strong>8、我怎样过好今天</strong>？</p>
<p>  做些与往常不一样的事情。如果我们走出常规，学会享受生活，那么生活就是丰富多彩的。我们要敢于创造和创新。</p>
<p>  <strong>9、今天我要拥抱谁</strong>？</p>
<p>  拥抱是我们的精神食粮。曾经有一位心理学家说过，要想健康，每天要至少拥抱8次。身体接触是人最为基本的需求，它甚至可以帮助我们开发大脑。</p>
<p>  <strong>10、我现在就开始行动</strong>？</p>
<p>  不要认为这些都是“听起来不错”的建议，也不要认为生活很难是这样的。其实，每天的生活都不是你想象中的那样。是让生活过得索然无味，还是积极向上，决定权就在自已的手中。努力幸福地生活，你又会失去什么呢？</p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/个人成长">个人成长</category>
        </item>
        <item>
            <title><![CDATA[做事要有章法，别让瞎忙害了你]]></title>
            <link>http://blog.wilsonzy.cn/post/8</link>
            <guid>http://blog.wilsonzy.cn/post/8</guid>
            <pubDate>Sun, 25 Aug 2024 06:32:56 GMT</pubDate>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <!-- more -->
<p>  做事应当坚持“要事第一”的原则，只有按照事情的轻重缓急，把事情做得有顺序、有条理，效率才可能提高。</p>
<p>  众所周知，凡是能够在工作岗位上实干工作的人，他们都能做到始终专注于自己的工作。</p>
<p>  美国著名政治家亨利·克莱曾经有过类似的表达：“当我遇到重要的事情，虽然我并不知道别人会做何反应，但是我每次都会全身心地投入其中，根本就不会注意到周遭的世界。那一刻，我完全感觉不到时间、环境、周围的人的存在。”</p>
<p>  工作中，只有当你一心一意、集中精力专注做事的时候才能发现工作中的小细节，也才能竭尽全力保证完成工作，并且比别人更加能够找到通往成功的突破口；反之，你便很难避免在工作中出纰漏，非但不能完成工作反而还会令你丧失工作机会，甚至于还会给公司带来损失。</p>
<p>  那么，工作人员要如何才能做到专注工作呢？</p>
<p>第一，<strong>处事有序</strong>。</p>
<p>  在一般人看来，一个人如果有拖延习惯，那么这个人就是一个不负责任、工作懒散的人。然而实际上，在这些人中有相当一部分做事确实勤恳卖力，但仅仅是因为最终效率极低罢了。追根究底，主要因为他们缺乏做事所需的全局视野，工作不分轻重缓急。但是，他们如果能够合理调配时间，分清主次的话，那么将会在有限的时间内完成更多的任务，使效率得到提高。</p>
<p>  概言之，做事应当按照章法完成而不能眉毛胡子一把抓。只有按照事情的轻重缓急，一步步地把事情做得有顺序、有条理，这样做事的效率才可能提高。无论做什么事都必须要从全局的角度对事情进行规划，然后将总体目标分成若干小目标，最后在其中区分轻重缓急。并且要是能始终坚持这种从全局进行统一规划，同时坚持“要事第一”的做事原则的话，那么久而久之，“先做重要事情”的好习惯则会培养而成。</p>
<p>第二，<strong>排除次要干扰</strong>。</p>
<p>  德国著名作家歌德曾有过一句名言：“重要的事情绝不能因为次要的小事而受到羁绊。”在日常工作中，当我们正努力向自己的目标前进的时候总是会被各种各样的事情所干扰，这些干扰有时是来自经济方面的，有时也会是来自家庭方面的。这些干扰因素就是对我们把握重要事务能力的挑战。设想一下，如果我们因为这些次要的事务而停止前进的步伐，甚至于为之偏离目标的方向，那么，成功将会离我们越来越远。</p>
<p>  并且在工作中，如果想有效完成工作，那么就必须集中精力于当务之急的事情，同时排除那些次要事务的羁绊。在我们进入行动状态之后，必须全力以赴地向前迈进，这样才能更容易完成任务，才能更容易取得成功。</p>
<p>第三，<strong>一次只做一件事</strong>。</p>
<p>  专心自己已经决定好的事情，并且放弃其他所有的事。这要求一个人将需要做的事情想象成一大排中的一个个小抽屉，其所需要做的仅仅是一次开一个抽屉，然后完满地完成抽屉中要求的任务再将抽屉推回去。不要总是想着所有的抽屉，相反，必须集中精力去关注你所打开的抽屉，而一旦抽屉被推回去就不能再去想它。</p>
<p>  一次一事，并且全心全意地投入把它实干到位，这样才不致使自己内心感到筋疲力尽，而且还能更好地了解自己每次任务所承担的责任和极限。然而，如果把自己弄得筋疲力尽且失去控制，那么这就是在浪费自己的工作效率。</p>
<p>  因此，我们应该首先选择重要的事情去做，把其他的事情暂且放置一旁。做得少一点，做得好一点，这样才能从工作中获得更多的乐趣。</p>
<p>笫四，<strong>培养自控能力</strong>。</p>
<p>  现实生活中每个人都是兼具理性与感性的，而人们的大部分行为也都以感情为出发点，这才是人性的真实面。</p>
<p>  有时候，人或许会因为别人的一句话而耿耿于怀，动辄勃然大怒，根本无法自控。可是，一旦情绪过后，又会后海不迭。以上的描述正是很多人的通病。</p>
<p>  其实，那些因为个人某方面致命的弱点或者缺陷而最终失败的人在失败者中并非少数。对于这样的人，他们就一定要培养自我控制能力，克服内心浮躁情绪。并且还要经常思考自身的不足和弱点，既要自我崇拜、信心十足，还要自我反思、随时改正，同时还必须不断地完善自我从而提高自身。</p>
<p>  只有能自我克制的人才能不为外界环境所左右，才能真正做到专心致志，专注于自己所定的目标。</p>
<p>第五，<strong>训练集中能力</strong>。</p>
<p>  在中国古代，铸剑师为铸造一把好剑往往必须到深山中潜心打造十几年。 有道是， “十年磨一剑”。作为一个实干的人员，绝不能把精力分散到几件事情之上。</p>
<p>  换言之，一个人不能因为处理并不迫切的事情而影响到完成重要的事情。专注能够保证一个人做事最大效率地发挥。</p>
<p>  为了完成一项工作，你必须远离某些使你分散注意力的事情，集中精力选准主要目标且专心致志地向该目标前进，只有这样才能保证成功的取得。</p>
<p>  总而言之，求真实干就是要求一个人必须在工作中真正做到心无旁婺、全神贯注地完成自己的工作并全力以赴达成自己的人生目标。</p>
<p>  只有做到这些才能成为单位最受欢迎的员工，也才能在自己人生的道路上顺利前行。</p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/个人成长">个人成长</category>
        </item>
        <item>
            <title><![CDATA[年底了，你的年假休了吗？]]></title>
            <link>http://blog.wilsonzy.cn/post/7</link>
            <guid>http://blog.wilsonzy.cn/post/7</guid>
            <pubDate>Sun, 11 Jan 2026 15:07:06 GMT</pubDate>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <!-- more -->
<p>很多公司为了方便考勤统计，会对年假进行集中管理。</p>
<p>常见的管理方式有这么集中。</p>
<ul>
<li>
<p>1、工作满一年才给年假，甚至不给年假。</p>
</li>
<li>
<p>2、或者满一年给1天（或少于5天）。</p>
</li>
<li>
<p>3、规定时间不休年假的，自动放弃。</p>
</li>
<li>
<p>4、没有休年假的制度安排，对员工的休假需求予以拒绝。</p>
</li>
</ul>
<p>2008年《职工带薪年休假条例》正式出台实施，规定职工累计工作满1年不满10年的，年休假5天；满10年不满20年的，年休假20天；满20年以上的，年休假15天。</p>
<p>闲话少说，今天我们来聊聊年假这件“大”事儿。</p>
<p>对于为什么有那么多人没休过带薪年假？</p>
<h2>一、企业的原因</h2>
<p>有人说企业碍于发展的需要，不允许员工休带薪年假。</p>
<p>很多人每年都提交带薪休假的申请，但领导会以各种理由不批准。</p>
<p>不批准表象一，<strong>工作无人替</strong>。</p>
<p>现在很多企业的工作岗位都是一个萝卜一个坑，而且还是流水线式工作流程。你休假了，你的工作别人没办法替你做，而且还会耽误别人的工作进度。这种情况下，领导不是不批，是没办法批，尤其是一些非常重要的关键性岗位，休假的可能性那就几乎为零。</p>
<p>不批准表象二，<strong>项目进行时</strong>。</p>
<p>很多岗位，尤其是技术和销售岗位，在进行项目的时候，那真是忙得脚不沾地，你想休息，不好意思，即使休假也不会让你安心休假，一会设备出问题，一会客户有要求，需要你负责，你要你盯靠，这个时候想休假，别说没门了，那是连窗户也没有。好不容易一个项目结束，想要休息的时候，另一个项目早就马不停蹄开始了，无缝衔接的那么自然，也彻底断了休假的可能性。</p>
<p>其实，以上两种表象都是因为企业对于带薪休假制度并没有真正执行到位，或者说对于这项制度并不重视，讲求什么无私奉献，公司好了，员工才能好，连年假都不让休，何谈为了员工好呢？</p>
<h2>二、个人的原因</h2>
<p>有人说，有些人不休年假，完全是个人的原因，担心休假影响在领导心目中的形象，影响自己的升职加薪，影响自己的前途。</p>
<p>诚然，这样的担心并不是多余。</p>
<p>现在很多民企的老板因为是自己的企业，恨不能一年365天，天天耗在公司，当然希望员工也能像他一样，以公司为家。若是有人休个年假，立马就觉得这人贪图享乐，不堪重用，这样的民企老板不在少数。</p>
<p>另外，还有些单身人士觉得休年假没什么意思，休了年假也不知道该干点什么，索性干脆上班，说不定还能靠年休赚个三倍工资啥的。</p>
<p>其实这个三倍工资是有前提条件的。</p>
<p>在《职工带薪年休假制度条例》中规定，300%工资补偿的前提条件是，“单位确因工作需要不能安排职工休年休假的，经职工本人同意，可以不安排职工休年休假。”</p>
<p>在这个时候才可以获得3倍工资，而实际情况是，我们今年没有休的年休假，到明年，企业会自动给你清零，不累积。不要想什么攒几年年休假一起休，这种事情是根本不可能的。</p>
<p>为了规避3倍工资，还有公司会在年初的时候，就让员工上报将在何时休年休假，到时候不休属于自动放弃，或者直接让你签署自动放弃年休假的书面申请。</p>
<h2>三、社会的原因</h2>
<p>带薪年假政策的宣传落实不到位，不知道自己可以休这个假。</p>
<p>其实对于我们国家的劳动法来说，普及落实的的确不到位，到现在还有很多企业不给员工缴纳社会保险，更不要提让员工享受每年的带薪休假了。</p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/个人成长">个人成长</category>
        </item>
        <item>
            <title><![CDATA[让领导最认可的工作方式]]></title>
            <link>http://blog.wilsonzy.cn/post/6</link>
            <guid>http://blog.wilsonzy.cn/post/6</guid>
            <pubDate>Sat, 26 Apr 2025 04:07:49 GMT</pubDate>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <!-- more -->
<p><img src="http://5b0988e595225.cdn.sohucs.com/images/20190219/0a0fd88813274ceabf699d4433528a22.jpeg" alt="汇报工作的方式.jpg"></p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/个人成长">个人成长</category>
        </item>
        <item>
            <title><![CDATA[铁娘子  董明珠  送给大家65条关于工作和成长的建议]]></title>
            <link>http://blog.wilsonzy.cn/post/5</link>
            <guid>http://blog.wilsonzy.cn/post/5</guid>
            <pubDate>Sat, 26 Apr 2025 04:08:02 GMT</pubDate>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <!-- more -->
<h2>关于管理</h2>
<ol>
<li>
<p>一个企业赚了很多钱，但员工仍旧居无定所，那这个企业的管理者就不是一个优秀的企业家。<strong>优秀的企业家应该承担起责任，为员工营造一种安全感，让他们感觉有所依靠</strong>。</p>
</li>
<li>
<p>一个企业，没有核心技术，永远都是跟随者。</p>
</li>
<li>
<p>一个领导者要有牺牲奉献的精神，不能考虑个人得失。</p>
</li>
<li>
<p>领导者真正的柔情是批评员工，看到问题要指出。</p>
</li>
<li>
<p>不要和任何人做「交易」。</p>
</li>
<li>
<p><strong>管小事才能成大事，关注细节</strong>。</p>
</li>
<li>
<p>宽松不等于放纵，宽松之外要有铁的制度。</p>
</li>
<li>
<p>坦荡的公开错误是自信的表现。</p>
</li>
<li>
<p>企业领导者不能和员工的思维错位。</p>
</li>
<li>
<p><strong>如果想可持续发展，那么一定要在制度上做文章</strong>。</p>
</li>
<li>
<p>世界上 99% 是好人，为何还要跟那 1% 的人做生意？</p>
</li>
<li>
<p>很多中小企业说最缺资金，你错了，你缺的不是资金，你缺的是管理，缺的是制度，缺的是寻找正确的合作伙伴。</p>
</li>
<li>
<p>当企业一盘散沙的时候，要让员工有集体的观念，首先是从行为上约束他们。</p>
</li>
<li>
<p>怎么练就一个优秀的干部队伍？让他们写投诉信，从而找出我们的问题。</p>
</li>
<li>
<p><strong>如果一个企业不诚信，它很难创造出好的技术</strong>。</p>
</li>
</ol>
<h2>关于职场</h2>
<ol start="16">
<li>
<p><strong>要么全力以赴地干，要么早点滚蛋。做企业不是做慈善，如果你愿意被慈善，我建议你去要饭</strong>。</p>
</li>
<li>
<p>别把老板和上司当傻子，他装傻不等于真傻，不追究不代表他不记得，只是他给你机会去磨练。</p>
</li>
<li>
<p>别见人就说你有多苦，说久了一定会成为公司里最苦的那一个。对工作，一诺千金，言出必行，每次放空炮，还有谁会相信你能做好。</p>
</li>
<li>
<p><strong>别以为自己很牛，真要觉得自己很牛，拿工作结果出来看，这比你吹一万次牛更有说服力</strong>。</p>
</li>
<li>
<p>马屁少一点，我相信再响再爽的马屁也顶不上你出色工作成果功力的十分之一。</p>
</li>
<li>
<p>别为小钱纠结，你那三块五毛二没人在乎，太在乎小钱的人将一辈子为小钱发愁。</p>
</li>
<li>
<p>对领导忠诚是你在公司存在的保命线，没业绩没成果有它你还能存在，没它了就算你再牛也 P 都不是，而且很快你就会臭名昭著。</p>
</li>
<li>
<p><strong>请别再说「我没有功劳也有苦劳」。请你记住，苦劳是企业的一种负担，它会让企业慢慢消亡，功劳才是你存在的条件和价值</strong>。</p>
</li>
<li>
<p>职务越高越没有朋友，不是没有朋友而是你不能跟他做朋友。</p>
</li>
<li>
<p>千万别说「这不归我管」，一个如此没有集体感的公司能给客户提供什么良好服务？</p>
</li>
<li>
<p>别以为一句「我不知道」，就能将自己置身事外。如果你不知道，麻烦找个知道的人过来处理。</p>
</li>
<li>
<p>在说「他不在」之前，先弄清楚客户真正想听的是什么？</p>
</li>
<li>
<p><strong>客户跟你抱怨，是希望你能迅速提出解决方案，而不是一句「这个没办法」</strong>。</p>
</li>
</ol>
<h2>关于人才</h2>
<ol start="29">
<li>
<p>要想知道什么是人才，你先问自己是人才吗？</p>
</li>
<li>
<p><strong>我们通常有一个误区，认为无论什么岗位，员工学历越高越好，其实绝大多数人都各怀其才，关键是如何使用</strong>。</p>
</li>
<li>
<p>对人才的评判，不能以资格是否老来决定他能不能当领导。而是应该取决于这个人有没有挑战精神，有没有勤奋的精神，有没有奉献的精神。</p>
</li>
<li>
<p>对于人才，道德是第一位，没有人品的人才不能用。</p>
</li>
<li>
<p><strong>我们中国有巨大的人才库，关键是我们怎样培养。企业家一个最重要的责任，就是培养人才</strong>。</p>
</li>
<li>
<p>没有好平台，人才也可能不是人才。</p>
</li>
<li>
<p>只要是从同行业企业出来的，无论你多能干，原则上不收留。</p>
</li>
<li>
<p><strong>管理人，就要得罪人</strong>。</p>
</li>
<li>
<p>一个人拥有权力的时候，这个权力不是为自己和家人服务的。</p>
</li>
<li>
<p>要让每个员工都爱这个企业，只有每个人都爱企业、都愿意付出，这个企业才有竞争力。</p>
</li>
<li>
<p><strong>企业在发展的过程当中，一定要重视人才的培养。人才是第一的，没有人才一切归零。技术是天生的吗？是要有人才</strong>。</p>
</li>
</ol>
<h2>给企业家的建议</h2>
<ol start="40">
<li>
<p>要先研究干什么，是办咨询、开事务所，还是直接进入商界。<strong>在任何情况下，你要学会从外行到内行，弄清事物的本质</strong>。</p>
</li>
<li>
<p>确定自己经商的基本思想。在投入钱财和精力前要了解市场及客户的信誉。</p>
</li>
<li>
<p><strong>要有充分的准备去干重活儿和粗活儿，以及没干过的活儿</strong>。</p>
</li>
<li>
<p>学会作出重大决定。随时准备作出事关今后商业活动命运的决定。</p>
</li>
<li>
<p>必须学会运作切合实际的商务计划，核算是亏损还是盈利。</p>
</li>
<li>
<p>聘请专业人员加盟。在正式开始前，聘请有经验的律师和会计，尽量不用家属和亲属。</p>
</li>
</ol>
<p>46.<strong>从小事做起，不购买多余的东西，不急于购买复印机和传真机</strong>。</p>
<ol start="47">
<li>
<p>如果你在家里进行商务活动，让客户知道你的办公时间和休息时间。</p>
</li>
<li>
<p>如果遇到竞争，不要害怕，先搞清竞争者有多大优势，市场是否饱和，能做哪些对手无法做的事情。</p>
</li>
<li>
<p><strong>千方百计地巧妙宣传你的商品</strong>。</p>
</li>
<li>
<p>学会管理钱财。要学会分析银行账目，懂得贷款的作用。</p>
</li>
</ol>
<h2>关于原则</h2>
<ol start="51">
<li>
<p>主动第一，空谈第二。领导者要给员工注入积极主动的心智模式，让他们积极主动地接受工作。</p>
</li>
<li>
<p><strong>认真第一，聪明第二。一些领导者之所以优秀不是因为他有多聪明过人，而是他做事情非常认真</strong>。</p>
</li>
<li>
<p>结果第一，理由第二。越优秀的公司越强调结果。</p>
</li>
<li>
<p>诚信第一。领导者在管理团队时要教育员工做人的第一原则就是诚信原则。</p>
</li>
<li>
<p>外包思维，是最能够提高员工的执行能力的一种思维模式。</p>
</li>
<li>
<p><strong>一个人，一定要有做人的原则，要对别人负责任。你是这个企业的员工，你就要对你的企业负责任</strong>。</p>
</li>
<li>
<p>可以在台上拿一百万，但绝对不允许在台下拿一分钱。</p>
</li>
</ol>
<h2>关于自我成长</h2>
<ol start="58">
<li>
<p>顺手就可以拿到的东西，不叫目标，一定要跳起来才能达到的东西才是目标。</p>
</li>
<li>
<p><strong>今天的成绩已成为过去，当你满足的时候，就是失败的开始</strong>。</p>
</li>
<li>
<p>眼泪解决不了问题，唯一的办法就是战斗。</p>
</li>
<li>
<p><strong>不要放弃投资自己，珍惜各种学习的机会</strong>。</p>
</li>
<li>
<p>人的一生一定要有压力才活得有意义，没有压力就没有意义。</p>
</li>
<li>
<p>想要成功和幸福就要对自己「狠」一点。</p>
</li>
<li>
<p><strong>对自己狠一点，逼自己努力，再过五年你将会感谢今天发狠的自己、恨透今天懒惰自卑的自己</strong>。</p>
</li>
<li>
<p>包容别人说你的不是，包容别人对你的反对，最后让实践告诉他谁对谁错。</p>
</li>
</ol>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/个人成长">个人成长</category>
        </item>
        <item>
            <title><![CDATA[PPT速成手册 创造出含金量达100万的PPT]]></title>
            <link>http://blog.wilsonzy.cn/post/4</link>
            <guid>http://blog.wilsonzy.cn/post/4</guid>
            <pubDate>Sat, 26 Apr 2025 04:08:25 GMT</pubDate>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <!-- more -->
<p><img src="/static/img/98b06321b5dc9482a9461bfc03c4da1c.5eb9545d39f5b.jpg" alt="5eb9545d39f5b.jpg"></p>
<p>一份好的PPT体现了你的数据分析，审美排版，设计，</p>
<p>甚至是逻辑思维的能力，</p>
<p>听起来似乎不知道该如何下手，</p>
<p>而现在想做到这些，</p>
<p>你仅需1到2个月就能完全掌握，</p>
<p>10大模块+70节视频课程，</p>
<p>助你创造出高含金量的PPT。</p>
<p><img src="/static/img/ccc9cf8275583ca0bb51303cb3c6449f.5eba8587800b5.jpg" alt="5eba8587800b5.jpg"></p>
<p>下载链接   扫码关注后回复：<strong>511</strong></p>
<p><img src="/static/img/a8aceb4ac56822970881915d4f64a408.5eb9587260504.jpg" alt="5eb9587260504.jpg"></p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/个人成长">个人成长</category>
        </item>
        <item>
            <title><![CDATA[你那么优秀，别输在不会表达上]]></title>
            <link>http://blog.wilsonzy.cn/post/3</link>
            <guid>http://blog.wilsonzy.cn/post/3</guid>
            <pubDate>Sat, 26 Apr 2025 04:08:41 GMT</pubDate>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <!-- more -->
<p><img src="/static/img/782250d8ab47c353005a312ef65ac80f.5eba82e033f9d.png" alt="5eba82e033f9d.png"><br>
有的人说话让你感觉聒噪无比；而有的人却能让你频频称赞。</p>
<p>有的人总能把女朋友哄得开开心心；而有的人却总能戳中女朋友的枪口。</p>
<p>有的人在职场总能和同事领导高效沟通，得到提拔；有的人却总在沟通上出问题，难担重任。</p>
<p>有的人教育孩子轻而易举；有的人对孩子怎么讲道理都滴水不进。</p>
<p>……</p>
<p>生活由无数碎片拼接而成，人与人的沟通无时无刻不在进行着，工作、生活、社交、甚至是去逛街购物，我们都无法避免<strong>通过交流达成目的</strong>。</p>
<p><img src="/static/img/938325a887466673ca4164ebf2fdd370.5eba831436daf.png" alt="5eba831436daf.png"></p>
<p>我们要会说，敢于表达，想办法让别人认识你，我真的不会说话吗？”你开始自我怀疑，<strong>不主动就会失去机会，主动了又会遭到拒绝</strong>。这像是一个怪圈，负面情绪的夹杂让你在交流说话中渐渐抗拒“主动”这个行为，甚至产生心理障碍。</p>
<p>这时候<strong>毛遂自荐</strong>就变得格外重要；我们要想办法让对方喜欢你，除了你的外在，<strong>最直观有效的方法就是利用交谈技巧，让对方认为你足够有价值，这样做你会事半功倍</strong>！</p>
<p>这次，语言大师<strong>郑匡宇</strong>，将通过<strong>18节会员专享表达课</strong>，让你一开口就能俘获人心！</p>
<p><img src="/static/img/f92f4f5d5e9ad9102c35e478f45abd09.5eba8508d8dd2.jpeg" alt="5eba8508d8dd2.jpeg"></p>
<p><img src="/static/img/3d4cab6dce7ab3d4a065983adcf8ec87.5eba8530905be.jpeg" alt="5eba8530905be.jpeg"></p>
<p><img src="/static/img/03f3bcee0a9cbcb2bfecac2c4357430d.5eba85485ab4b.jpeg" alt="5eba85485ab4b.jpeg"></p>
<p>这个时代没有好口才简直活不下去</p>
<p>有人说，口才好的人成功率至少提高50%</p>
<p>你那么优秀，别输在不会表达上</p>
<p>汪涵、蔡康永力荐的表达课</p>
<p>让你生活和职场都能俘获人心</p>
<p><img src="/static/img/ccc9cf8275583ca0bb51303cb3c6449f.5eba8587800b5.jpg" alt="5eba8587800b5.jpg"></p>
<p>下载链接   扫码关注后回复：<strong>725</strong></p>
<p><img src="/static/img/a8aceb4ac56822970881915d4f64a408.5eb9587260504.jpg" alt="5eb9587260504.jpg"></p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/个人成长">个人成长</category>
        </item>
        <item>
            <title><![CDATA[墨菲定律：避开人生倒霉的 20 个「坑」]]></title>
            <link>http://blog.wilsonzy.cn/post/2</link>
            <guid>http://blog.wilsonzy.cn/post/2</guid>
            <pubDate>Wed, 11 Dec 2024 14:11:42 GMT</pubDate>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <!-- more -->
<p><img src="/static/img/8fcb3529032ecd1d7c061dae6343894d.5ebbcedc1475f.jpg" alt="5ebbcedc1475f.jpg"><br>
你是不是总会遇到这样的情况？</p>
<p>要迟到了，偏偏一路红灯；</p>
<p>刚洗完车，就下雨了；</p>
<p>自己排的那一队，永远是最慢；</p>
<p>辛苦了一天偷偷玩玩手机，恰巧老板走到你面前。</p>
<p>怎么就这么巧呢？</p>
<p>这种现象不是巧合，而是墨菲定律在「作祟」！</p>
<p>你和墨菲定律相处的时间越长，</p>
<p>就越会发现它牢牢地掌控着地球，你无法避开它。</p>
<p>墨菲定律似乎有种宿命论和悲观主义的色彩，</p>
<p>任何事情都有变坏的可能性，既然它一定会变坏，难道我们只能坐等悲剧的发生？</p>
<p>当然不是！</p>
<p>我们真正要做的是，</p>
<p>透过墨菲定律夸张的表现形式，领悟隐藏在「倒霉」背后的积极意义！</p>
<p>让我们在做任何事情之前，都尽可能地想得周到、全面，沉着应对突发的不幸或损失，总结所犯的错误，改变既定的结果！</p>
<p>本课程用 20 讲，从生活中各种有趣、悲催、费解的墨菲定律的表象入手，揭示出事实的真相、事物运行的规律，让你谨慎又泰然的生活，助你避开人生路上倒霉的那些坑。</p>
<h2>大纲</h2>
<p>理解墨菲定律：避开人生倒霉的 20 个「坑」</p>
<p>不敢去做，你永远都做不到</p>
<p>怎样才能让别人相信你说的话？</p>
<p>没有人比你自己更在意你自己</p>
<p>标签化的生活到底好不好？</p>
<p>第一印象对你来说到底有多重要？</p>
<p>为什么倒霉的总是你？</p>
<p>讨好所有人这件事你根本做不来</p>
<p>话说的太满是要承担责任的</p>
<p>大多时候，你连自己的迷惑点都迷惑</p>
<p>注意！别人不喜欢听你的非凡经历</p>
<p>掩耳盗铃的事你自己也做过</p>
<p>你可以不知道谁对，但一定要知道谁说了算</p>
<p>以牙还牙为什么最终伤害的还是自己？</p>
<p>想用诋毁他人的方式抬高自己，很快就会陷入窘境</p>
<p>越是贪图快速的，就越会花更多的时间</p>
<p>现实从不偏爱笨小孩</p>
<p>围观的人越多越容易出错</p>
<p>没人在的时候总是超常发挥</p>
<p>为什么你这么完美，却没有朋友</p>
<p>一件事只要有可能出错，就一定会出错</p>
<p><img src="/static/img/ccc9cf8275583ca0bb51303cb3c6449f.5eba8587800b5.jpg" alt="5eba8587800b5.jpg"></p>
<p>下载链接   扫码关注后回复：719</p>
<p><img src="/static/img/a8aceb4ac56822970881915d4f64a408.5eb9587260504.jpg" alt="5eb9587260504.jpg"></p>
<!-- more -->
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/个人成长">个人成长</category>
        </item>
        <item>
            <title><![CDATA[话別说太满，人别熟太快！]]></title>
            <link>http://blog.wilsonzy.cn/post/1</link>
            <guid>http://blog.wilsonzy.cn/post/1</guid>
            <pubDate>Wed, 11 Dec 2024 14:10:56 GMT</pubDate>
            <content:encoded><![CDATA[<div class="markdown-body rss">
      <link rel="stylesheet" href="http://blog.wilsonzy.cn/markdown.css">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/default.min.css">
      <!-- more -->
<p>人和人之间相处，</p>
<p>往往离不开两点：</p>
<p>刚认识时，情别熟的太快，</p>
<p>要相处时，话别说的太满。</p>
<p>太容易给出的诺言，易碎。</p>
<p>太容易熟起来的人，易伤。</p>
<p><img src="http://t12.baidu.com/it/u=2992891061,1253056070&amp;fm=173&amp;s=EA6181525B62700154F14CC20300A0B0&amp;w=640&amp;h=364&amp;img.JPEG" alt="这是图片"></p>
<p>言语这种东西，</p>
<p>一不留神就可能成为脚下的坑，</p>
<p>别人的请求，一口答应，</p>
<p>不确定的事，张口就说，</p>
<p>太过绝对的话，常常放在嘴边。</p>
<p>做十分的事，说八分的话，</p>
<p>这才是聪明人做的事。</p>
<p>你的本事，不必在言语上争高低，</p>
<p>在行动中见真知才更令人赏识。</p>
<p>说话是一把利器，</p>
<p>用好了就会成就你</p>
<p>用不好就会刺伤自己，</p>
<p>留有余地，别把事情做的太过，</p>
<p>于情不偏激，于理不过头，</p>
<p>这样才会游刃有余。<br>
<img src="http://t10.baidu.com/it/u=3969471975,4152139778&amp;fm=173&amp;s=2EE0E51157725E2116593D52030040F1&amp;w=640&amp;h=367&amp;img.JPEG" alt="这是图片"></p>
<p>人和人，别熟的太快了。</p>
<p>熟的太快的朋友，</p>
<p>就如同拔苗助长，</p>
<p>没有彼此深入的了解和磨合，</p>
<p>走的太近，反而会有很多恩恩怨怨。</p>
<p>听了几句好话，</p>
<p>就认为全世界都是好人；</p>
<p>别人帮过几次，</p>
<p>就认为所有人都是真心；</p>
<p>熟的太快的朋友，</p>
<p>很容易大难临头各自飞，</p>
<p>没有同甘共苦过的人，</p>
<p>不值得你付出多少真心。</p>
<p>交友不慎，让人难过伤心；</p>
<p>用情太深，落的满身伤痕。</p>
<p><img src="http://t11.baidu.com/it/u=316994893,1655478736&amp;fm=173&amp;s=6D14C7105132462B82F929D20300C0B2&amp;w=640&amp;h=366&amp;img.JPEG" alt="这是图片"></p>
<p>人生在世，别忘了这一句：</p>
<p>话别说太满，人别熟太快。</p>
<p>多给自己留点余地，</p>
<p>也多给感情留点时间。</p>
<p>行动才见真章，日久方知人心！</p>
</div>]]></content:encoded>
            <author>wangsongyouxian@139.com (千纸鹤)</author>
            <category domain="http://blog.wilsonzy.cn//category/个人成长">个人成长</category>
        </item>
    </channel>
</rss>