游戏人生
About Me
  • 你好
  • Math
    • Number
      • Float IEEE754对确定性的影响
      • Pairing Function及其用途
    • Vector and Matrix
      • TRS基础概念
      • LossyScale深入分析
    • Quatenion
      • FromToRotation实现细节
    • Lerp and Curve
      • Slerp球形插值
      • Bezier Curve为什么重要
      • Interpolation和Extrapolation实现细节
  • Programming
    • C#
      • 学习资料
      • C# struct灵魂拷问
      • CIL的世界:call和callvirt
      • .NET装箱拆箱机制
      • .NET垃圾回收机制
    • Go
      • 基础特性
      • 如何正确的判空interface
      • 如何用interface模拟多态
      • 如何定制json序列化
      • 如何安全在循环中删除元素
      • 如何安全关闭channel
      • 如何集成c++库(cgo+swig)
      • 如何性能测试(benchmark, pprof)
    • Lua
      • 基础特性
  • General Game Development
    • Game Engine
      • 学习资料
      • 关于游戏引擎的认知
    • Networking
      • 帧同步
      • 状态同步
      • 物理同步
    • Physics
      • PhysX基本概念
      • PhysX增加Scale支持
      • PhysX场景查询
      • PhysX碰撞检测
      • PhysX刚体动力学
      • PhysX角色控制器
      • PhysX接入项目工程
      • 物理同步
      • 物理破坏
    • Design Pattern
      • 常用设计模式
      • MVP 架构模式
      • ECS 架构模式
  • Unity
    • Runtime
      • Unity拥抱CoreCLR
      • 浅析Mono内存管理
    • UGUI
      • 浅析UGUI渲染机制
      • 浅析UGUI文本优化
      • 介绍若干UGUI实用技巧
    • Resource Management
      • 浅析Unity堆内存的分类和管理方式
      • 深入Unity资源
      • 深入Unity序列化
      • 深入Assetbundle机制
    • Async
      • 深入Unity协程
      • 介绍若干Unity协程实用技巧
      • 异步动作队列
    • Hot Reload
      • Unity+Xlua
      • Xlua Examples学习(一)
      • Xlua Examples学习(二)
    • Editor Extension
    • Performance
      • 浅析Unity Profiler
      • 介绍一个Overdraw分析工具
  • Platform
    • WebGL
  • Real-world Project
    • Souce Engine
    • DOOM3 BFG
Powered by GitBook
On this page
  • 书籍
  • 其他
  • 工具
  1. Programming
  2. C#

学习资料

PreviousC#NextC# struct灵魂拷问

Last updated 3 years ago

笔者是从Unity接触c#的,这样既有好处也有局限性。好处是趣味性,局限性是由于Unity采用的c#运行时是免费的Mono,对c#的新特性和.NET核心机制并不关注。后来进入微软后,有机会从非游戏的角度了解庞大的.NET生态和远比Mono先进的c#运行时CLR。同时.NET也在经历着变革与新生:由于优异的跨平台特性和运行效率,.Net Core将替代.Net Framework,开启新的征程。

这里收集了一些不错的学习资料,不仅适用于c#,还能深化对类型系统设计、内存管理、性能优化的理解。

书籍

  • 《C# in Depth》,,第四版更新到了c#7和部分c#8的特性,语言方面看此书基本足够。

  • 《CLR via C#》,第四版于2015年出版,虽然基于.Net Framework 4.5,但依旧是当前市面上对CLR介绍最详实的一部必读好书。

  • 《The Book of The Runtime》,。这里收集了微软C#和.NET运行时设计团队的若干文章,可以作为阅读《CLR via C#》的补充。

  • 《Pro .NET Memory Management》,,从内存管理和性能优化角度,介绍.NET的实现细节和实用技巧,这本书得到了微软C#设计团队的推荐。作者还贴心地公开了两张的海报,一张介绍,一张介绍

  • 《The Garbage Collection Handbook》,对于GC这个庞大的话题,上面的书籍并未系统性的介绍,而这本书由浅入深地介绍了GC这个庞大的话题,乃经典必读。

其他

  • Youtube:

工具

  • 语言设计规范一本全:

  • 在线源码:

  • 在线IL等:

  • CIL指令集:,

  • 性能测量:,

  • 反编译:

  • 加壳:

官网链接
Github链接
官网链接
.NET内存排布
.NET GC
Patterns for high-performance C#, 2018
ECMA335, Partition III
.Net Framework 4.8
SharpLab
Wiki
ECMA335, Partition III
MemoryDiagnoser
benchmark .Net
DnSpy
.NET Reactor