C#基础2
在C#中,string str = null 与 string str = “” 请尽量使用文字或图象说明其中的区别
string str = null 没有创建内存空间,str中存放的是空引用指针;
string str = “” 创建了内存空间,str中存放的是指向堆中的指针。
简单地说:
string str ="";
爱编程
string str = null;
爱学习
简述类和结构的相同点和不同点。并用代码举例。
相同点
1.都可以有字段,也可以有方法
不同点
1.定义时,结构中的字段不能被赋初值
2.结构声明可以不用new ,直接定义结构的对象
3.声明结构的对象后,必须给结构的成员赋初值
4.类是引用类型,结构是值类型
什么是拆箱和装箱?举例说明
装箱 :
值类型转引用类型;
例:int num = 66;
string str = num.ToString();
拆箱:
引用类型转值类型;
例:string str = “66”;
int num = Convert.ToInt32(str);
编程实现一个冒泡排序
编程实现一个递归方法
说说目前学的集合有哪些?,每一种集合的特点以及使用场景
ArrayList
特点:
集合添加的值都会进行装箱处理,应为ArrayList只能添加object类型
取值的时候需要进行类型转换
List
特点:
新增数据需要进行类型安全验证
获取数据的时候不用去强转
变量被标记为 “const” 和readonly” 有何不同?
const修饰的常量在声明的时候必须初始化;readonly修饰的常量则可以延迟到构造函数初始化
const修饰的常量在编译期间就被解析,即常量值被替换成初始化的值;readonly修饰的常量则延迟到运行的时候
“out” 和 “ref” 参数有何不同?用代码举例
1、ref传进去的参数必须在调用前初始化
2、ref传进去的参数在函数内部可以直接使用
StringBuilder” 和 “String” 有何不同?
内容不能被改变和编译。虽然使用“+”可以达到附加新字符或字符串的目的,但“+”会产生一个新的String 实例,在内存中创建新的字符串对象。而StringBuilder 对象是一个可变的字符序列,它不会在内存中创建新的字符串对象;