1 构造函数与静态构造函数
public class a
{
public a(){}
}
public class b
{
static a(){}
}
类有一些静态字段或属性需要在第一次使用类之前就从外部源中初始化这些静态字段或属性
静态构造函数不能带有任何参数,静态狗仔函数只能访问类的静态成员不能访问类的实例成员。。。因为执行静态构造函数时,类还没有实例化
2 readonly 与 const 有什么不同点
public static const int x = 1; right
private static const int x = 1;error
private static readonly x = 1;right
public static readonly int x;
static CommuniteToIOS(){
x = 1;
} right
public static const int x;
static CommuniteToIOS(){
x = 1;
} error
const 需要初始化赋值 readonly可以在静态构造函数里面赋值
两个都不可以在其他地方赋值
3 匿名类型 —卧槽好方便
var objectA = new {FirstName = "123",SecondName = "456"};
objectA.FirstName;
objectA.SecondName;
4 结构体Struct 和 类Class 的区别
1 结构体是值类型 存储在栈中 速度快
2 ClassName className;
className.name = "123";error
StructName structName;
structName.name = "123";right
3 SturctA = structB 结构中的所有内容都会被复制
类只是复制引用
4 结构体不能出现没有参数的构造函数
struct a
{
a(int x){}
} right
struct a
{
a(){}
} error
不能再结构体中直接给属性赋值,可以通过构造函数
struct a
{
int x = 1;//error
}
5 partial 关键字允许把类、结构或者接口放在多个文件中 —–貌似unity不支持,我不知道怎么测下。。
//BigClassPart1.cs
partial class TheBigClass{
public void methodA(){}
}
// BigClassPart2.cs
partial class TheBigClass{
public void methodB(){}
}