// 单行注释 /\*\*/ 块注释 ///说明注释,注释之后能够自动生成说明文档档 #region 折叠注释,能够将代码折叠 #endregion 只是#region 所在行后面的文字是注释文字,而其它的#region和#endregion以内的行代码是有效的,仅仅起折叠做用
流程以下:工具 -> 导入和导出设置 -> 重置全部设置程序员
而后就能够重置vs2019 的布局了!数据库
引用命名空间
引用命名空间,这样能够在程序中引用命名空间的类型而没必要指定详细的命名空间.a) 好比在程序中经常使用的using System.Text;编程
b) 引用命名空间,并不等于编译器编译时加载该命名空间所在的程序集,程序集的加载决定于程序中对该程序集是否存在调用操做,若是代码中不存在任何调用操做则编译器将不会加载using引入命名空间所在空间的程序集.所以,在源文件开头,引入多个命名空间,并不是加载多个程序集,不会形成’过分引用’的弊端c#
为命名空间或类型建立别名
为命名空间或类型建立别名建立别名的缘由在于同一个文件中引入不一样的命名空间中包括了相同名称的类型。为了不出现名称冲突,能够经过设定别名来解决.服务器
例:using SGPoint = ShapMap.Geometries.Pointide
Using SGPoint = System.Drawing.Point函数
其实也能够经过类型全名称来加以区分,可是最佳解决方案仍是使用using工具
使用using语句
using语句容许程序员指定使用资源的对象应当什么时候释放资源.using语句中使用的对象必须实现IDisposable接口.此接口提供了Dispose方法,该方法将释放此对象的资源使用规则:布局
a) using语句只能用于实现了IDisposable接口的类型,禁止为不支持IDisposable接口类型使用using语句,不然会出现编译错误学习
b) using语句适用于清理单个非托管资源的状况,而多个非托管对象的清理最好以try-finaly来实现,由于嵌套using语句可能存在隐藏的Bug.内层using块引起异常时,将不能释放外层using块的对象资源
using实质:
在程序编译阶段,编译器会自动将using语句生成try-finally语句,并在finally块中调用对象的Dispose方法,来清理资源.因此,using语句等效于try-finally语句
重载、重写、覆写,分别指的是overload、override、new。
是在子类中重写父类中的方法,两个函数的函数特征(函数名、参数类型与个数)相同。用于扩展或修改继承的方法、属性、索引器或事件的抽象或虚拟实现。提供从基类继承的成员的新实现,而经过override声明重写的方法称为基方法。
1.重写基方法必须具备与override方法相同的签名。 2.override声明不能更改virtual方法的可访问性,且override方法与virtual方法必须具备相同级别访问修饰符。 3.不能用new、static、virtual修饰符修改override方法。 4.重写属性声明必须指定与继承的属性彻底相同的访问修饰符、类型和名称。 5.重写的属性必须是virtual、abstract或override。 6.不能重写非虚方法或静态方法。 7.父类中有abstract,那么子类同名方法一定有override,若父类中有 virtual方法,子类同名方法不必定是override,多是overload。 8.override一定有父子类关系。
在同一个类中方法名相同、参数或返回值不一样的多个方法即为方法重载。
1.出如今同一个类中。 2.参数列表不一样或返回类型和参数列表都不一样,只有返回类型不一样不能重载。(参数列表包括参数个数和参数类型)
用new实现。在子类中用 new 关键字修饰定义的与父类中同名的方法,也称为覆盖,覆盖不会改变父类方法的功能。
//代码实例演示 class Parent { public void F() { Console.WriteLine("Parent.F()"); } public virtual void G() //抽象方法 { Console.WriteLine("Parent.G()"); } public int Add(int x, int y) { return x + y; } public float Add(float x, float y) //重载(overload)Add函数 { return x + y; } } class ChildOne:Parent //子类一继承父类 { new public void F() //覆写(overwrite)父类函数 { Console.WriteLine("ChildOne.F()"); } public override void G() //重写(override)父类虚函数,主要实现多态 { Console.WriteLine("ChildOne.G()"); } } class ChildTwo:Parent //子类二继承父类 { new public void F() { Console.WriteLine("ChildTwo.F()"); } public override void G() { Console.WriteLine("ChildTwo.G()"); } } class Program { static void Main(string\[\] args) { Parent childOne \= new ChildOne(); Parent childTwo \= new ChildTwo(); //调用Parent.F() childOne.F(); childTwo.F(); //实现多态 childOne.G(); childTwo.G(); Parent load \= new Parent(); //重载(overload) Console.WriteLine(load.Add(1, 2)); Console.WriteLine(load.Add(3.4f, 4.5f)); Console.Read(); } }
解决方案是来若干个有联系的项目的组合。你生成解决方案,就会把全部自的项目都百给bulid了,省的你一个一个去生成。好比解决方案里有3个项目,a,b,c,a项目用到度b项目,b项目用到c项目,它会按顺序问给你生成c->b-a,而后把c,b的答dll都放到a的bin目录下。
从新生成解决方案顾名思义就是从新编译每一个文件,这样速度要满些,但可靠度高一些。“从新生成”是对全部的文件都从新生成你在解决方案上右键,选择从新生成解决方案的话。 VS会自动帮你都生成一遍的。也就是Bin目录里的东西。
而生成解决方案则在上次编译的基础上编译那些修改过了的文件,而没有修改的文件不编译,相似于数据库里的增量备份。“生成”的时候,只对你改动过的文件从新生成,没有改动过的文件不会从新生成;
最后提一下“清理解决方案”,这是在“从新生成解决方案”和“生成解决方案”下面的一个选项,选择“清理解决方案”将删除全部中间文件和输出文件,只留下项目文件和组件文件,之后能够从这些文件生成中间文件和输出文件的新实例。其实“清理解决方案”这个过程是在“从新生成解决方案”以前要执行的一个步骤,至此,这三者分别的做用的概念就了解完成了。
这个MSDN上有介绍,简单地说: 生成解决方案:已是最新的就跳过。 从新生成解决方案:先把已经生成好的所有删掉,而后再生成一遍。
文件/文件夹
做用
介绍
Bin目录
用来存放编译的结果
bin是二进制binrary的英文缩写,由于最初C编译的程序文件都是二进制文件,它有Debug和Release两个版本,分别对应的文件夹为bin/Debug和bin/Release,这个文件夹是默认的输出路径,咱们能够经过:项目属性—>配置属性—>输出路径来修改。
obj
用于存放编译过程当中生成的中间临时文件
obj是object的缩写,其中都有debug和release两个子目录,分别对应调试版本和发行版本,在.NET中,编译是分模块进行的,编译整个完成后会合并为一个.DLL或.EXE保存到bin目录下。由于每次编译时默认都是采用增量编译,即只从新编译改变了的模块,obj保存每一个模块的编译结果,用来加快编译速度。是否采用增量编译,能够经过:项目属性—>配置属性—>高级—>增量编译来设置.
Properties文件夹
定义程序集的属性
项目属性文件夹 通常只有一个 AssemblyInfo.cs 类文件,用于保存程序集的信息,如名称,版本等,这些信息通常与项目属性面板中的数据对应,不须要手动编写。
.config文件
Web.config文件向它们所在的目录和全部子目录提供配置信息
.cs文件
类模块代码文件
源代码都写在这里,主要就看这里的代码。
.csproj文件
C#项目文件
建立应用程序所需的引用、数据链接、文件夹和文件的信息。用VS打开这个文件就能够直接打开这个项目,自动生成,不须要看。
.sln
在开发环境中使用的解决方案文件
它将一个或多个项目的全部元素组织到单个的解决方案中。此文件存储在父项目目录中.解决方案文件,他是一个或多个.proj(项目)的集合
.aspx
.aspx 是网页文件,HTML代码写在这里面
Web窗体页由两部分组成:视觉元素(HTML、服务器控件和静态文本)和该页的编程逻辑。VS将这两个组成部分分别存储在一个单独的文件中,视觉元素在.aspx文件中建立。
.aspx.cs
Web窗体页的编程逻辑位于一个单独的类文件中
该文件称做代码隐藏类文件(.aspx.cs)
.aspx.resx/.restx
资源文件
资源是在逻辑上有应用程序部署的任何非可执行数据,经过在资源文件中存储数据,无需从新编译整个应用程序便可更改数据。
.pdb
PDB (程序数据库)
文件保持着调试和项目状态信息,从而能够对程序的调试配置进行增量连接。
.suo
解决方案用户选项
记录全部将与解决方案创建关联的选项,以便在每次打开时,它都包含您所作的自定义设置。
文章持续更新,若是喜欢,请拿起大家可爱的小手,给我点个赞吧!点赞是一种积极的生活态度,赞一个吧!