《C#高级编程》笔记

《C#高级编程》笔记一

名称空间格式

在开始一个项目之前计划定义名称空间的层次结构。一般格式是CompanyName.ProjectName.SystemSection,公司名.项目名.部分名。

名称空间别名

using alias=NamespaceName;

名称空间别名的修饰符是“::”

Console.WriteLine()

可以为值指定宽度,调整文本在该宽度中的位置,正值表示右对齐,负值表示左对齐;{n,w},其中n是参数索引,w是宽度值。
例:

int i=940;
int j=73;
Console.WriteLine("{0,4}\n+{1,4}\n--\n{2,4}",i,j,i+j);

结果如下:

 940
+ 73 
--
1013

{0,9:C2}中,0表示参数索引,9表示宽度值,C表示格式(这里是货币格式),2表示精度(这里是两位小数)。

Pascal命名

名称空间、类、基类成员、常量

camel命名

类型中所有私有成员字段名称;
传递给方法的所有参数的名称;
属性封装的一个字段。

类与结构的区别

类:存储在堆(heap)上的引用类型;支持实现继承和接口继承;派生自System.Object或用户选择的另一个类,还可派生自任意多个接口
结构:存储在栈(stack)上的值类型;不支持实现继承,支持接口继承;派生自System.ValueType,可派生自任意多个接口

类的成员包括数据成员和函数成员;其中,
数据成员包括字段、常量和事件的成员;
函数成员包括方法、属性、构造函数和终结器(finalizer)、运算符和索引器。

ref和out关键字

ref关键字或者无关键字,c#要求变量在被引用前用初值进行初始化;
out关键字,变量在被引用前可以不初始化。

可选参数

可选参数必须是方法定义的最后的参数。

构造函数初始化器

可以包含对同一个类的另一个构造函数的调用,也可以包含对直接基类的构造函数的调用(使用相同的语法,但base关键字代替this)
例如:

class Car
 {
     private string description;
     private uint nWheels;
     
     public Car(string description,uint nWheels)
     {
         this.description=description;
         this.nWheels=nWheels;
     }
     
     public Car(string description): this(description,4)
     {
     }
 }

结构的构造函数

默认构造函数把数值字段初始化为0,把引用类型字段初始化为null,提供字段的初始值会报错(error. Initial values not allowed)

静态类

不能创建静态类的实例;
不需要创建静态类的对象,使用类型名即可调用方法。

扩展方法

即使扩展方法是静态的,也要使用标准的实例方法语法。

继承

c#不支持多重实现继承,支持多重接口集成。

你可能感兴趣的:(c#,.NET)