C# 2026

.NET微软文档:https://learn.microsoft.com/zh-cn/dotnet/standard/glossary

C#微软文档:https://learn.microsoft.com/zh-cn/dotnet/csharp/language-reference/

百度网盘离线文档中文版: https://pan.baidu.com/s/1Vto65ibHoozMylSg_BUeuQ?pwd=ACAC

离线文档:

不确定的疑问看文档,以下基础内容可能存在错误,为本人提炼,下班完成,尝试短期掌握C#开发部分,工作环境大变化,准备自学开润,目标过完年开始海投。


.NET是免费、开源、跨平台的开发框架,用于构建新式应用和云服务。Microsoft在 .NET 平台上提供 3 种语言 - C#、F# 和 Visual Basic。

BCL:Base,基类库

CLR:Common,公共语言运行时,为一种虚拟机。

GC: garbage,垃圾自动回收机制

什么是托管和非托管代码?

官网截图:

简单说区分关键是否在CLR执行。


OOP思想:通过类型(Class)和对象(Object)模拟现实世界,类型代表抽象分类(如"工程师"),对象代表具体实例(如"黄药师")。类型可以实例化成无数个对象。

  • 开发演进:
    • 初期:单一对象承担多种职责(如老板身兼研发、生产、销售)
    • 发展:通过定义新类型分解职责(创建操作员、销售员类型)
    • 成熟:建立类型层级关系(研发部→研发部长→工程师)

.NET基元类型:

  • 数值类型:
    • 整数系列:
      • System.SByte:有符号8位值(-128~127)
      • System.Byte:无符号8位值(0~255)
      • System.Int16/System.UInt16:16位有/无符号整数
      • System.Int32/System.UInt32:32位有/无符号整数
      • System.Int64/System.UInt64:64位有/无符号整数
    • 浮点系列:
      • System.Single:IEEE32位浮点
      • System.Double:IEEE64位浮点
      • System.Decimal:128位高精度浮点(金融计算专用)
  • 其他类型:
    • System.Char:16位Unicode字符
    • System.Boolean:true/false布尔值
    • System.String:字符数组(引用类型)
    • System.Object:所有类型的基类(引用类型)
  • 存储区别:
    • 值类型(除String/Object外):在栈上分配内存
    • 引用类型(String/Object):在堆上分配内存

值类型与引用类型的区别?

值类型存储在栈,引用类型存储在堆(地址保存在栈)。

栈内存与堆内存区别?

.NET通过值类型和引用类型分类?

区分简单:需要动态分配内存大小类型属于引用类型,其他归类到值类型。


进程与线程的概念

进程是操作系统分配资源的独立单位,线程是进程内的执行单元;一个进程至少包含一个线程,多个线程可共享数据。

堆栈(也叫栈),每个线程拥有私有堆栈空间,防止内存冲突,存储局部变量和函数参数等值类型数据。

共享堆内存,在.NET中由CLR管理托管堆(Managed Heap),使用new关键字创建的对象存储在托管堆。

科技园区比喻:将计算机比作科技园区,操作系统是管理单位,每家企业代表一个进程程序 )。将企业部门(研发部/生产部等)比作线程 ,每个部门有独立小金库(私有线程堆栈 )。科技园区有很多共享设备(充电桩)区域(共享堆区域 ),对共享设备资源进行争夺(资源抢夺 ),使用同步机制解决资源抢夺。

同步机制
  • 互斥锁(Mutex):
    • 保证同一时间只有一个线程访问共享资源
    • 类似"部门借用设备需登记"的机制
  • 信号量(Semaphore):
    • 控制同时访问资源的线程数量
    • 可设定最大并发访问数
  • 应用场景:
    • 多线程读写同一对象时必需
    • 确保数据修改的原子性和一致性
    • 防止竞争条件导致的数据异常
为何不能将所有代码放在主线程?

主线程(如UI线程)处理用户交互,耗时任务应放在子线程(Task)执行以避免卡顿,多线程可提升程序效率。


(以上2026.1.8晚上用时2h完成,为基础部分,跳过变量类型介绍,下班速刷)

相关推荐
rockey6271 小时前
AScript如何实现中文脚本引擎
c#·.net·script·eval·expression·function·动态脚本
我是唐青枫3 小时前
C#.NET gRPC 深入解析:Proto 定义、流式调用与服务间通信取舍
开发语言·c#·.net
unicrom_深圳市由你创科技3 小时前
做虚拟示波器这种实时波形显示的上位机,用什么语言?
c++·python·c#
昵称暂无14 小时前
.NET 高级开发 | i18n 原理、实现一个 i18n 框架
javascript·c#·.net
疯狂成瘾者5 小时前
Chroma向量数据库
开发语言·数据库·c#
我是唐青枫5 小时前
C#.NET Monitor 与 Mutex 深入解析:进程内同步、跨进程互斥与使用边界
开发语言·c#·.net
ou.cs5 小时前
c# 信号量和锁的区别
开发语言·c#
yugi9878385 小时前
C# 串口下载烧写BIN文件工具
开发语言·c#
"菠萝"7 小时前
C#知识学习-021(文字关键字)
开发语言·学习·c#
游乐码7 小时前
c#HashTable
开发语言·c#