C# 学习笔记

    技术2025-11-29  21

    文章目录

    一、Visual Studio 与.NET1. .NET2.Visual Studio 有关 二、设计模式与规范1.设计模式2.UML 三、Winform开发1.Winform 与MVVM2.Databinding:3.开源UI库4.其它 四、基础知识五、笔记1.软件注册与注册表2.窗体优化

    一、Visual Studio 与.NET

    1. .NET

    创建同时基于.NET Framework、.NET Core、.NET Standard项目的方法;UWP:Universal Windows Platform简称。即Windows通用应用平台,在Windows 10 Mobile/Surface(Windows平板电脑)/PC/Xbox/HoloLens等平台上运行,uwp不同于传统pc上的exe应用,也跟只适用于手机端的app有本质区别。它并不是为某一个终端而设计,而是可以在所有Windows10设备上运行。Net Framework,Net Core 和 Net Standard 区别:链接1、链接2、链接3;组织项目以支持 .NET Framework 和 .NET Core;C#Corner;什么是.NET Core ?它和.NET Framework 有什么不同?;

    2.Visual Studio 有关

    Nuget包中有黄色小三角的问题 (visual studio 有时候依赖项有感叹号的问题,是因为网络原因nuget包获取失败造成的);

    界面有点模糊:在tool->options中按照如下配置好再重启就可以了

    打开visual studio installer:打开visual studio软件->Tools->Get Tools and Features 或者直接在软件中搜索visual studio installer;

    拓展工具获取:Extensions-> Manage Extensions,就可以在打开的界面中搜索和安装需要的拓展工具了;

    Markdown编辑器使用:首先在拓展工具中安装Markdown,然后新建文件以'.md'格式结尾,就可以在打开的文件中编辑了;

    语言设置;

    Visual studio 资源管理:使用vs2019的git管理代码并推送至GitHub、GitHub基础使用教程、Visual Studio 2019 上使用Gitee 的入门教程;

    如果要将其他项目添加到解决方案中并上传至GitHub,需要将目标项目拷贝到解决方案的文件夹中,然后在解决方案中将目标项目添加进来,最后上传项目即可;

    GitHub中的开源协议:协议区别1、协议区别2、协议区别3、协议使用介绍;

    visual studio 2019 (vs) 显示右侧缩略图显示;

    根据json生成c#实体类;

    解决Visual Studio 2019报错:对COM组件的调用返回了错误HRESULT E_FAIL;

    安装包制作:

    Visual Studio Installer:微软自带的工具,使用教程(链接0,链接1、链接2、链接3);Install Shield LimitedEdition:不同版本注册后可以免费使用,专业版收费,使用教程(链接1,链接2);Inno Setup:开源的工具;软件安装需要做哪些事:链接1;软件安装工具制作:链接1,链接2;

    任务标记 //TODO 应用;

    快捷操作:

    for、if、switch等+tab 快速生成代码段;自定义代码段、其它的代码段?prop+tab 构建属性;propfull+tab 构建字段和属性;propg+tab 构建属性,set 为private;ctor+tab 生成构造函数alt+enter 智能解决方案提示;Ctrl + K + C 注释代码;Ctrl + K + U 取消注释代码;Ctrl + K + F 整理代码格式;Shift + Alt 鼠标点击后可以跨行操作;

    二、设计模式与规范

    1.设计模式

    菜鸟教程中的设计模式教程;比较好的教程博客(这个博主的其它博客也可以看一下,包括数据库、软件架构、C#的一些知识);单例模式判断两次为NULL的原因;

    2.UML

    UML入门知识1、UML入门知识2;UML类图详解1、UML类图详解2、UML类图详解3;visual studio 使用UML: 添加".dgml"文件;在Visual Studio 2013/2015中设计UML类图;UML常用工具:PowerDesign、Rose、Visio; 免费的工具有:StarUML、UMLet、ArgoUML 、JUDE、BOUml、Visual Paradigm; 在线工具:https://www.processon.com;

    三、Winform开发

    1.Winform 与MVVM

    .Net四个MVVM框架; MVVM模式开发WinForm-ReactiveUI;

    2.Databinding:

    Winform使用DataBinding实现数据绑定 ;需要在Load事件中绑定,如果在构造函数中绑定会提示未实现等错误;

    3.开源UI库

    学习UI库源的实现框架是提高开发水平的重要方式,开源资源可以在GitHub和Gitee中获取(搜索UI关键字等方式)

    比较好的UI库集合;SunnyUI.Net;

    4.其它

    ".ttf"字体文件使用;

    四、基础知识

    抽象类和接口有什么区别;运算符 ?、??、?: 各种问号的用法和说明;引用类型作为值参数和引用参数问题;链式编程;task;ToString格式;

    五、笔记

    1.软件注册与注册表

    实现思路:简单软件有效期注册的实现、实现软件注册1、实现软件注册2(这是系列文章,在文章的后面,可以看博主的其它内容);软件注册机制;软件注册与注册机;注册表基本原理:链接1、链接2、链接3;注册表基本操作:链接1、链接2;MD5加密算法:基础操作;

    2.窗体优化

    无边框窗体的阴影效果:链接1 、链接2;注意事项:C#中一个form的宽/高度的最大值,不能比它所运行的电脑上的屏幕的分辨率多于12 pixel;改变字体样式,布局会改变:将AutoScaleMode属性设置为None;在load事件里面指定控件焦点,无法设置输入焦点:因为load事件时控件没有被创建,可以在Activated事件中指定控件焦点;
    Processed: 0.020, SQL: 9