今天2015年1月22日16:59:01,我正式开始了在如鹏网学习C#的日子。我希望我能坚持下去。
学会编程、成为一个合格的程序员。
C#、.Net和ASP.NET的区别
- .NET是一个平台,提供了运行.net程序所需要的虚拟机、类库等。
- C#是.NET平台下的一个语言,.NET下的语言还有VB.NET、PowerShell等
- ASP.Net是.Net下开发网站的技术
- WPF、winform都是 .NET下的开发技术
.NET开发环境配置
必须安装.NET Framework。Framework的版本有2.0、3.0、3.5、4.0、4.5等版本。
而现在目前安装程序需要安装.NET 3.5和.NET 4.5.2的版本。因为.NET4.0的开始不再支持.NET3.5及以下的版本 了。所以需要安装两个版本的(截止到今天2015年1月26日)
用记事本和CSC即可编译程序
不止是java可以用记事本编辑,C#一样可以这样玩,只是我们比较低调
- 先在H盘的根目录下面。新建一个叫做Test.txt 的文本文档
using System; class Test{ static void Main(string[] args){ Console.WriteLine("您好,我再次出发写代码!"); Console.ReadKey(); } }
3、 然后将Test.txt重命名为Test.cs文件再执行:win+r键打开运行窗口,
通过命令进入Test.cs所在的文件夹H盘,
执行:C:\Windows\Microsoft.NET\Framework\v4.0.30319\csc.exe Test.cs,编译生成Test.exe (自动完成文件名的命令是TAB键。) (Get new skill)
最后打印输出
.Net程序运行必须依赖于.Net Framework ,无法独立运行。
.NET Framework介绍
- .Net程序运行必须依赖于.Net Framework,无法独立运行
- 生成的exe、dll不是普通的“原生”的,而是叫“程序集”,是“MSIL/IL”二进制字节码。
- .Net Framework中的CLR是运行.Net程序的核心
- Linux、Ios等非windows系统下也可以运行.net程序:通过Mono来实现
- 开发Android、Ios也可以借助于Xamarin使用C#开发手机程序
必须知道的.NET FrameWork
PS:编译完成后,.NET程序是正常的“01100....”的可执行文件,而是IL代码组成的中间层代码。.NET程序通过即时编译的方式,在运行时编译成真正的exe。所以有些程序在第一次运行的时候会稍微慢一点,有一些这部分的原因。
FrameWork几个核心功能。
CTS:Common Type System 通用类型系统。Int64→long、Int32→int、Int16→short、String→string、Boolean→bool。每种语言都定义了自己的类型,.Net通过CTS提供了公共的类型,然后翻译生成对应的.Net类型。
CLS:Common Language Specification 通用语言规范。不同语言语法的不同。每种语言都有自己的语法,.Net通过CLS提供了公共的语法,然后不同语言翻译生成对应的.Net语法。
CLR:Common Language Runtime 公共语言运行时,就是GC、JIT等这些。有不同的CLR,比如服务器CLR、Linux CLR(Mono)、Silverlight CLR(CoreCLR)。相当于一个发动机,负责执行IL。
反编译工具的介绍
Reflector 老牌反编译工具
ILSpy 新兴反编译工具(开源免费)
1、反编译工具 无法反编译汇编,因为CSC在编译代码的时候,不会编译注释。
注释问题
被注释的代码编译器忽略。作用:说明代码的作用:程序中适当加注释;屏蔽无用的代码。
使用“//”注释一行代码,//之后的代码编译器会忽略(给例子代码加注释)。
/**/注释多行代码。(*)还有“///”文档注释。
// _ooOoo_
// o8888888o
// 88" . "88
// (| -_- |)
// O\ = /O
// ____/`---‘\____
// . ‘ \\| |// `.
// / \\||| : |||// \
// / _||||| -:- |||||- \
// | | \\\ - /// | |
// | \_| ‘‘\---/‘‘ | |
// \ .-\__ `-` ___/-. /
// ___`. .‘ /--.--\ `. . __
// ."" ‘< `.___\_<|>_/___.‘ >‘"".
// | | : `- \`.;`\ _ /`;.`/ - ` : | |
// \ \ `-. \_ __\ /__ _/ .-` / /
// ======`-.____`-.___\_____/___.-`____.-‘======
// `=---=‘
//
// .............................................
// 佛祖镇楼 BUG辟易
// 佛曰:
// 写字楼里写字间,写字间里程序员;
// 程序人员写程序,又拿程序换酒钱。
// 酒醒只在网上坐,酒醉还来网下眠;
// 酒醉酒醒日复日,网上网下年复年。
// 但愿老死电脑间,不愿鞠躬老板前;
// 奔驰宝马贵者趣,公交自行程序员。
// 别人笑我忒疯癫,我笑自己命太贱;
// 不见满街漂亮妹,哪个归得程序员?