1.简述private、protected、public、internal 修饰符的访问权限
private:私有成员,在类的内部可以访问
protected:保护成员,在该类内部和继承类中可以访问
public:公共成员。无访问限制
internal:当前程序集可以访问
———延伸
类的实例化,(如何使用类?),用关键字new
类 实例名=new 类();
字段,方法、属性都类的成员:member
都要加访问级别?
访问级别的用处在于控制成员在哪些地方可以被访问,达到面向对象中”封装"的目的。
2.在dotnet中类(class)与(struct)的异同
class可以被实例化,属于引用类型,是分配在内存的堆上的。类是引用传递的。
private:私有成员,在类的内部可以访问
protected:保护成员,在该类内部和继承类中可以访问
public:公共成员。无访问限制
internal:当前程序集可以访问
———延伸
类的实例化,(如何使用类?),用关键字new
类 实例名=new 类();
字段,方法、属性都类的成员:member
都要加访问级别?
访问级别的用处在于控制成员在哪些地方可以被访问,达到面向对象中”封装"的目的。
2.在dotnet中类(class)与(struct)的异同
class可以被实例化,属于引用类型,是分配在内存的堆上的。类是引用传递的。
struct属于值类型,是分配在内存的栈上的。结构体是复制传递的。Int32/Boolean等属于结构体
3.堆和栈的区别
堆是程序运行期间动态分配的内存空间。
栈是编译期间就分配好的内存空间。局部值类型变量、值类型参数等都在栈上。
4.值类型和引用类型的区别
值类型无null; 所有值类型隐式派生自System.Value Type;类和结构都可以有接口;赋值时传值和引用地址
4.命名空间:用于解决类的重名问题,可以看做“类”的文件夹
5.ArrarList(动态数组) 、List(泛型集合)、Hashtable(哈希表)、Dictionary(字典)区别?
6.FIleStream类
FileStream 类是公开以文件为主的 Stream,既支持同步读写操作,也支持异步读写操作。 命名空间:System.IO 程序集:mscorlib(在 mscorlib.dll 中)
7.索引器?
索引器为c#程序语言中类的一种成员,它使得对象可以像数组一样被索引,使程序看起来更直观,更容易编写。
<span style="font-size:18px;">namespace _12索引器小例子
{
class Program
{
static void Main(string[] args)
{
List<int> listInt = new List<int>();
MyList myList = new MyList();
myList.Add(1);
myList.Add(2);
myList.Add(3);
string st=myList.ToString();
Console.WriteLine(st);
Console.ReadKey();
}
}
public class MyList
{
List<int> list = new List<int>();
public int this[int index]
{
get { return list[index]; }
set { list[index] = value; }
}
public void Add(int item)
{
list.Add(item);
}
public override string ToString()
{
string str="";
foreach (int item in list)
{
str+=item;
}
return str;
}
}
}</span>