C#基础

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(){}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值