看完翁恺老师的C语言课立马就开始C#的学习,我觉得C语言的学习只是预先了解,真正要学的是C#。所以并没有再继续深入学习C语言,但我那本C primer Plus肯定还会看完的。
本次看的教程是北京大学唐大仕老师的C#程序设计课
https://www.icourse163.org/learn/PKU-1001663016
C#语言简介:
历史:
C -> C++ -> Java -> C#
C语言是六十年代开始的面向过程的语言。后面的C++加了很多面向对象的特点,相当复杂、内容多。Java语言被誉为是C++的--,他把C++里面的最复杂的部分去掉一部分。微软2001年的C#语言早期和java语言相似,继承了java语言的特点,然后取得了长足的进步。他特征最丰富,用起来最方便。
面向对象、方便安全、与Web紧密结合。
Microsoft .NET:

通用的编程模型
包括客户端、服务器和应用服务
开发工具

.NET的主要特性:
- 简单的开发与部署
- 统一的编程模型
- 提供健壮、安全的执行环境
- 支持多种编程语言
- 丰富的类库支持
公共语言运行时(运行库):
(Common Language Runtime)
设计目标:
- 简化开发:安全性、内存管理
(内存管理统一由CLR来完成) - 简化应用程序部署
- 基类库
- 支持多种语言
相当(类似)于Java中的虚拟机

以CLR为目标的语言编译器不把源代码编译为本机代码,而是中间代码(Microsoft intermediate language,MSIL),在运行时,CLR使用Just-in-Time (JIT)编译器把中间语言实时翻译成本机代码,然后在CLR的监管下运行。
Exe文件中的内容:
中间指令-IL指令(Intermediate Language)
元数据-程序相关的辅助信息
反编译的工具:ildasm.exe
可以对exe文件里的指令进行查看
C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools\ildasm.exe

第一个C#程序:
界面设计(Shift+F7):
插入对象,设置其属性(对象窗及属性窗)

程序代码(F7):
在界面设计的时候双击对象,填写代码(代码窗)
或者用属性窗的


F5或Ctrl+F5启动
保存与发布:
保存:
- 程序文件.cs
- 工程文件.csproj
- 解决方案.sln
(多个工程组合位解决方案) - 其他辅助文件
编译/运行
发布:直接复制
直接在项目文件夹bin\Debug文件夹里复制exe文件就可以了
核心概念:对象
所有的东西都是对象。用三个基本要素描述他们
属性(property):表示对象的状态或特征 如label1.Text this.BackColor
方法(mathod):指的是事物的动作或功能 如xxxx.SetBounds(x,y,w,h);
事件(event):指的是这个对象跟外界对象的通知机制(消息机制)如Click
几个例子:
改变颜色、大小和位置:赋值语句(用属性或方法完成)