前言
- 之前在学校的时候系统的学习过C#, 但是没有好好深入的学习, 直到工作重拾学习的机会, 时不我待, 以我为鉴, 诸君共勉.
第一章: 了解C#
1.1 C#的前景
C#是一个涉足领域很广泛的语言, 记得之前还做C#的深度学习软件
- C#的涉猎领域
- C#生态
- C#的优势
具有竞争力 |
具有后发优势 |
- 权威数据
StackOverflow的调查数据:
https://insights.stackoverflow.com/survey/2021#key-territories-country
1.2 C#和Java
微软为了抗衡Java, 推出了C#, (鹅厂行为)
- C#的诞生
对标Java |
语言特性、语法结构、编译流程、运行环境, 对Java进行了一比一-的模仿 |
- C#的一些误区
no-> Java 是大家共有的, .NET是微软独有的 |
yes-> Java 版权属于Oracle, .NET Core完全开源 |
- Java和C#技术层面的区别
泛型方式不一样 |
java不能重栽操作符, 不支持委托, 不能做null check |
C#有linq语法, Java有Stream流操作 |
感兴趣的小伙伴还可以查看:
http://www.25hoursaday.com/CsharpVsJava.html
- C#与Java的十年战争
来自国外知乎有这样一条问答: 链接
最后, 连微软都出来站台, 那么C#真的有如此魅力吗, 让我们开始C#之旅吧
1.3 开发环境
- 开发工具选择
Visual Studio Community | Visual Studio Code |
---|---|
个人免费 | 免费、开源、高颜值 |
下载地址 | 下载地址 |
- 安装步骤
- 选择工具集
- .NET配置
- 语言包
1.4 Cli和Clr
跟JDK和JRE一样, CLI和CLR是什么?
- CLI? CLR?
CLI | Common Language Infrastructure公共语言基础框架 |
CLR | Common Language Runtime公共语言运行时(服务环境) |
- CLI: Common Language Infrastructure 公共语言基础框架
用来处理代码编译过程 |
类似Java代码编译为字节码的过程 |
- CLR: Common Language Runtime 公共语言运行时(服务环境)
代码运行环境 |
相当于Java的JVM虚拟机 |
- Java的编译过程
- C#的编译过程
- 微软的构想
- 综上
1.5 .Net Core
微软的产品线傻傻分不清, 梳理一下~
- .NET的前世今生
废掉的不是.NET Core而是传统的.NET Framework |
.NETCore5==.NET5 |
统一命名 .NET Core 3.0之后的下一个版本将是.NET 5 |
- 开源特性
- 跨平台
- .Net Core性能
轻量级 | 适合微服务架构 | 容器化 | 但并不向后兼容 |
- C#
.Net Framework的旗舰语言 |
支持函数式语言 |
语言集成查询linq |
编译器模块化 |
牛掰的异步构造await async |
- 技术栈的选择?
开发思维 | 代码过程 | 设计模式 | 系统架构 |
1.6 第一个C#程序
笔记记录自慕课C#从入门到进阶