一、结构与类主要区别是结构用关键字Struct代替Class来声明结构。类和结构都是使用关键字new来声明实例。这个关键字创造对象并对其进行初始化。
二、类成员的可访问性可是以:public、protected、internal\protected\private\internal.
1\方法的声明:[modifier ] return_type methodname([parameters]){}
2\ref 参数,通过迫使值班通过引用传送给方法。使用关键字ref 如:static void somefunction [int[] ints,ref int i){}
3\out参数,方法的参数加上out前缀,传递给方法的变量可以不初始化。
4、命名参数fullname(lastname:"Doe",firstname:'John");
5\可选参数,必须的为可选参数提供默认值,可选参数必须是最后一个参数。
6、方法的重载:只需声明同名但参数个数或是类型不同即可。
7、属性:是一个方法或是一对方法。如
public string someproperty
{
get{}
set{}
}
构造函数初始化:
class car
{
private string desc;
private uint nwheels;
public car(string desc,uint,nwheels)
{this.desc=desc;
this.nwheels=nwheels;
}
public car(string desc):this(desc,4)
{
}
}
只读字段:
readonly,但是可以在构造函数中给只读字段赋值。不能在其他地方赋值。
匿名类型:var与new关键字一起使用时可以创建匿名类型。
部分类:partial关键字允许把类、结构、或接口放在多个文件中。的用法是:把partial放在class struct 或是interface关键字前面。
静态类:只包含静态方法的类,该类是静态。使用static关键字。
扩展方法:
扩展方法是静太方法,它是类的一部分,但实际没有放到类的源码中。假定money类要加一个方法AddtoAmount(decimal amounttoadd) .
namespace guoguo
{
public statics class MoneyExtension
{
public static void addtoamount(this Money money,decimal amounttoadd)
{
money.amount+=amounttoAdd;
}
}
}