.NET Core .NET Framework和Visual Studio是什么?
.NET Framework和.NET Core是一个代码库,这个库有很多模块,创建不同的程序(桌面程序、web程序等)引用不同的多个需要的模块。
.NET是一个平台,也是一个标准。都是这个标准下的代码库。
Visual Studio是强大的集成开发环境,支持C#、C++、VB等其它语言。
.NET Core 和 .NET Framework的区别?
.NET是一个平台,也是一个标准。它下面主要有三大代码库:.NET Core 、.NET Framework、Xamarin。
早起情况:如下图
2019年9月24号,.NET Core3.0版本发布。NET Core也开始支持WPF 和 Windows Forms。
现在NET Core还在继续适用更多的平台,和更多的场景发展。
.NET Framework如何编写应用程序?
- 使用开发语言(C#、C++、VB等)编写程序。
- 使用开发环境把开发语言编译成中间语言(Common Intermediate Languagesage , CIL);存储在程序集里。
程序集:包含1、可执行文件如.exe 2、依赖的库如.dll 3、元数据即数据信息 4、资源文件如图片音频视频 ;最后程序集一定是在注册表注册的,程序集复制到有.NET CLR的电脑目录就可以运行了。 - 使用JTI编译器把程序集编译为本机代码。
- 本机代码在托管的CLR环境运行。
托管代码的意义:可以管理内存(垃圾回收机制)、处理安全性、处理跨语言调试。
垃圾回收机制:定期检查计算机内存,从中删除不需要的内容,释放内存。注意:垃圾回收有可能1s多次,也有可能几秒一次;所以对于那些需要内存很多的代码,应该自己清理内存。 - 使用JTI编译器把程序集编译为本机代码。
Visual Studio解决方案的理解
解决方案可以包含多个不同类型的项目,多个程序集可以共享代码。
Visual Studio(Windows)常用快捷键和基本操作
Ctrl + K + C 注释多行代码
Ctrl + K+ U 取消注释多行
F5运行项目;“Shift+F7”停止调试项目
F11从断点处开始,一行一行的运行代码;
F10从断点处开始执行到当前方法末尾;
“Shift+F11”从当前断点跳到下一个断点;
点击一个方法名字,F12进入查看详情,右上角显示该类信息
“Ctrl+F4”关闭打开的文件
选中控件F4调用属性面板;双击控件生成对应默认(点击)方法
双击窗体打开对应代码文件;在代码文件“Shift+F7”打开对应设计界面。
一个解决方案多个项目时候,设置启动按钮对应哪个项目:选中解决方案,右键”设置启动项目“
1、快捷写事件
打出m_threadComServer.Started(这里注意,打出类名后如果事件是⚡️符合)
再打出+=,然后按tab键,就可以补齐事件名字,(注意此时事件名字是绿色你可以修改这个名字)
修改建议名字后,按enter键。该类会自动创建事件的名字。
2、查看哪里定义,查看哪里引用了这个方法
入口方法调用了很多方法:想找到这个方法具体位置:F12查看方法的具体实现;Ctrl+F12查看这个方法在哪里定义
看到一个方法都有哪些地方引用了它:点击方法名字上面的引用,就会看到都有哪里引用了它;
3、事件的添加,在属性面板,闪电符号里面。
4、输入一个字符串,忘记具体单词,可以Ctrl+".",会有建议输入或者建议引入头文件。
5、代码模版,输入for、class、prop、propfull,连续点击两下tab,自动生成代码模版。
Visual Studio(Mac)常用快捷键和基本操作
C#常用语法:
1、#region 备注内容(可以在大纲试图显示,方便查看代码;类似于iOS的#pragma mark 备注)
配套使用的还有#endregion
2、using(){} 对象在范围内可用,超过范围就释放内存;如果范围内异常,也会释放对象内存。代替了try catch
using ( SqlConnection conn = new SqlConnection(strConn))
{
//创建一个Sql命令对象
using (SqlCommand cmd = new SqlCommand())
{
//给命令对象指定 连接对象。
cmd.Connection = conn;
conn.Open(); //一定要在执行命令之前打开就可以了。
//此属性放我们的sql脚本
cmd.CommandText = "insert into DboUserInfo(Name,DelFlag,Demo,cons)values('4444448888',0,'sss',0)";
cmd.ExecuteNonQuery(); //执行一个非查询sql语句,返回受影响的行数。
//cmd.CommandText = "sel";
//cmd.ExecuteNonQuery()。。。。
}
}
3、计时器(Stopwatch)
Stopwatch sw =new Stopwatch();//创建计时器
sw.Start();//开启计时器
sw.Stop();//停止计时器
sw.Reset();//重置计时器
sw.Restart();//重启计时器
sw.Stop();//停止计时器
Console.WriteLine(sw.Elapsed.Milliseconds);//打印计时时间