开源 C# 快速开发(一)基础知识

文章的目的为了记录使用C# 开发学习的经历。开发流程和要点有些记忆模糊,赶紧记录,防止忘记。

相关链接:

开源 C# 快速开发(一)基础知识

开源 C# 快速开发(二)基础控件

开源 C# 快速开发(三)复杂控件

开源 C# 快速开发(四)自定义控件--波形图

开源 C# 快速开发(五)自定义控件--仪表盘

开源 C# 快速开发(六)自定义控件--圆环

开源 C# 快速开发(七)通讯--串口

开源 C# 快速开发(八)通讯--Tcp服务器端

开源 C# 快速开发(九)通讯--Tcp客户端

开源 C# 快速开发(十)通讯--http客户端

推荐链接:

开源 C# .net mvc 开发(一)WEB搭建_c#部署web程序-CSDN博客

开源 C# .net mvc 开发(二)网站快速搭建_c#网站开发-CSDN博客

开源 C# .net mvc 开发(三)WEB内外网访问-CSDN博客

开源 C# .net mvc 开发(四)工程结构、页面提交以及显示-CSDN博客

开源 C# .net mvc 开发(五)常用代码快速开发_c# mvc开发-CSDN博客

开源 C# .net mvc 开发(六)发送邮件、定时以及CMD编程-CSDN博客

开源 C# .net mvc 开发(七)动态图片、动态表格和json数据生成-CSDN博客

开源 C# .net mvc 开发(八)IIS Express轻量化Web服务器的配置和使用-CSDN博客

开源 C# .net mvc 开发(九)websocket--服务器与客户端的实时通信-CSDN博客

本章节主要内容是:C#开发中工程结构,和基础知识。

一、基本介绍

C#(发音为 "C Sharp")是一种现代的、面向对象的、类型安全的编程语言。它由微软团队在 Anders Hejlsberg(Turbo Pascal 和 Delphi 之父)的领导下开发,并于 2000 年首次发布。

C# 的根源可以追溯到 C 语言家族(如 C, C++),因此语法上与 Java 和 C++ 非常相似,但它在设计上吸取了多种语言的优点,并加入了许多创新特性。它的核心目标是让开发者能够构建在 .NET 平台上运行的各种各样健壮、高性能且安全的应用程序。

优点

优点 说明
易于学习 语法清晰、结构良好,尤其对有 C++ 或 Java 背景的开发者非常友好。
功能强大 拥有丰富的语言特性和庞大的类库,几乎能应对任何开发场景。
高性能 持续的版本更新(如 .NET Core 以来)使其性能达到了顶级水平,可与 Go、Java 等媲美。
强大的工具支持 Visual Studio 被誉为世界上最好的 IDE 之一,提供了无与伦比的调试、代码补全和项目管理体验。Visual Studio Code 也是一个轻量级但强大的选择。
强大的社区和企业支持 拥有庞大的开发者社区和微软的强力支持,文档齐全,遇到问题容易找到解决方案。
跨平台 现代的 .NET 是真正的跨平台框架,为开发者提供了极大的灵活性。

二、工程结构

分解决方案和项目

1.解决方案的结构

MyCompany.MyApplication/ # 解决方案根目录

├── MyCompany.MyApplication.sln # 解决方案文件

├── src/ # 源代码目录(存放所有项目)

│ ├── MyCompany.MyApplication.Web/ # Web API 项目

│ │ ├── Controllers/

│ │ ├── Models/

│ │ ├── Program.cs # 程序入口(.NET 6+)

│ │ ├── Startup.cs # 程序入口(.NET 5及以前)

│ │ └── MyCompany.MyApplication.Web.csproj

│ │

│ ├── MyCompany.MyApplication.Core/ # 核心业务逻辑类库

│ │ ├── Entities/ # 实体类

│ │ ├── Services/ # 业务服务

│ │ ├── Interfaces/ # 服务接口(依赖注入)

│ │ └── MyCompany.MyApplication.Core.csproj

│ │

│ └── MyCompany.MyApplication.Infrastructure/ # 基础设施类库

│ ├── Data/ # 数据访问层(DbContext)

│ ├── Repositories/ # 仓储实现

│ └── MyCompany.MyApplication.Infrastructure.csproj

├── tests/ # 测试项目目录

│ ├── MyCompany.MyApplication.Web.Tests/ # Web 项目测试

│ └── MyCompany.MyApplication.Core.Tests/ # Core 项目测试

└── docs/ # 文档目录(可选)

2.项目结构(最常用)

最常用的Form1.cs为窗体,

Program.cs为程序入口

三、设计器和代码编辑器

从工具箱中可以直接拖动控件到设计器,在属性窗口中可以设置选中的控件的属性。

代码编辑器用于

四、清晰度问题

我用的vs是2019版本的,VS2019在Windows 10下显示不清晰,通常和高分辨率屏幕下的缩放设置、硬件加速或DPI适配有关。在网上有许多方法,试了以后显示还是模糊。

在Program.cs中,使用以下代码,可以程序显示清晰

复制代码
/*
using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;

namespace ctrl
{
    static class Program
    {
        /// <summary>
        /// 应用程序的主入口点。
        /// </summary>
        [STAThread]
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new Form1());
        }
    }
}
*/


using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;

namespace ctrl
{
    static class Program
    {
        /// <summary>
        /// 应用程序的主入口点。
        /// </summary>
        [STAThread]
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new Form1());

            if (Environment.OSVersion.Version.Major >= 6)
                SetProcessDPIAware();
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            //此处设置启动窗口
            Application.Run(new Form1());
            //Application.Run(new McuConfig());
        }
        [System.Runtime.InteropServices.DllImport("user32.dll")]
        private static extern bool SetProcessDPIAware();
    }
}
相关推荐
游乐码4 分钟前
C#Queue
数据结构·游戏·c#
提子拌饭13325 分钟前
星芒便签:鸿蒙Flutter框架 实现的美观便签应用
flutter·华为·架构·开源·harmonyos·鸿蒙
@不误正业40 分钟前
第04章-开源鸿蒙的架构概览
架构·开源·harmonyos
独特的螺狮粉41 分钟前
开源鸿蒙跨平台Flutter开发:近视防控数字疗法:基于 Flutter 的眼动物理追踪与睫状肌动力学舒缓测绘架构
flutter·华为·架构·开源·harmonyos·鸿蒙
世人万千丶1 小时前
Flutter 框架跨平台鸿蒙开发 - 家庭健康档案云应用
学习·flutter·华为·开源·harmonyos·鸿蒙
爱分享的阿Q1 小时前
GLM5.1-开源模型
开源
三原1 小时前
超级好用的三原后台管理v1.0.0发布🎉(Vue3 + Ant Design Vue + Java Spring Boot )附源码
java·vue.js·开源
昵称暂无11 小时前
通过 C# 复制 Word 文档、指定段落、指定节
开发语言·c#·word
AI_零食1 小时前
二十四节气物候现象速览卡片:鸿蒙Flutter框架 实现的传统文化应用
学习·flutter·华为·开源·harmonyos·鸿蒙
JQLvopkk1 小时前
C#实现的简单的漏洞扫描器
开发语言·c#