1.简述private、protected、public、internal 修饰符的访问权限
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>
时间: 2024-10-25 03:11:56