C#杂记

  1. 抽象类和接口区别:
    a.抽象类除了不能被实例化外,具有类的其他特性;而接口只是一个行为的规范。
    b.可以实现多个接口,但是只能继承一个类。

  2. 结构体和类区别:
    a.结构体为值类型;类为引用类型。
    b.结构体中声明的字段无法赋初值。
    c.结构体的构造函数中必须为结构体所有字段赋值,类则不需要。

  3. 聚集索引和非聚集索引区别:
    a. 一个表只能有一个聚集索引;而非聚集索引可以有多个。
    b.聚集索引大多都是主键。
    c.聚集索引的逻辑顺序决定了数据行的物里存储数据;非聚集索引就是普通索引,仅仅对该列创建了相应的索引,不会影响整个表的物里存储结构。

  4. 单例

public sealed class SingletonDemo
{
    private static SingletonDemo instance = null;
    private static readonly object objLock = new object();

    SingletonDemo() { }

    public static SingletonDemo Instance
    {
        get
        {
            lock (objLock)
            {
                if (instance == null)
                {
                    instance = new SingletonDemo();
                }
            }
            return instance;
        }
    }
}
  1. string、stringBuilder和stringBuff区别:
    a.string:每次声明及修改string的值,都会销毁旧的字符串对象并创建新的字符串对象;
    b.stringBuilder与stringBuff类似,但是stringBuilder更快,stringBuff则为线程安全。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值