-
抽象类和接口区别:
a.抽象类除了不能被实例化外,具有类的其他特性;而接口只是一个行为的规范。
b.可以实现多个接口,但是只能继承一个类。 -
结构体和类区别:
a.结构体为值类型;类为引用类型。
b.结构体中声明的字段无法赋初值。
c.结构体的构造函数中必须为结构体所有字段赋值,类则不需要。 -
聚集索引和非聚集索引区别:
a. 一个表只能有一个聚集索引;而非聚集索引可以有多个。
b.聚集索引大多都是主键。
c.聚集索引的逻辑顺序决定了数据行的物里存储数据;非聚集索引就是普通索引,仅仅对该列创建了相应的索引,不会影响整个表的物里存储结构。 -
单例
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;
}
}
}
- string、stringBuilder和stringBuff区别:
a.string:每次声明及修改string的值,都会销毁旧的字符串对象并创建新的字符串对象;
b.stringBuilder与stringBuff类似,但是stringBuilder更快,stringBuff则为线程安全。