01:在C#中,string str = null 与 string str = “” 请尽量使用文字或图象说明其中的区别。
答:第一个 str赋值的是null 赋值了null 但没有开辟空间,在第二个str赋值的是“ ” 它赋值了也开辟了新的空间
02:简述类和结构的相同点和不同点。并用代码举例。
答:
结构不可以new 不可以包含方法 只能包含变量 结构是值类型 结构不能定义无参数的构造方法。类可以new 可以有方法 类是引用类型。
struct Sex
{
int Female;
int Male;
}
03:什么是拆箱和装箱?举例说明
答:拆箱就是把num存进去的类型 在转出来
装箱就是把值类型转换为引用类型
04:编程实现一个冒泡排序
答:
static void Main(string[] args)
{
int[] arr = { 4, 2, 5, 8, 1 };
for (int i = 0; i < arr.Length; i++)
{
for (int j = 0; j < arr.Length-1; j++)
{
if (arr[j]>arr[j+1])
{
int num = arr[j + 1];
arr[j + 1] = arr[j];
arr[j] = num;
}
}
}
for (int i = 0; i < arr.Length; i++)
{
Console.WriteLine(arr[i]);
}
}
05:编程实现一个递归方法
答:
public int digui(int num)
{
if(num ==1 || num == 2) return num;
return dugui(num-1) + dugui(num-2);
}
06:说说目前学的集合有哪些?,每一种集合的特点以及使用场景
答:
ArrayList,List,Hashtable,Dictionary<key,value>
ArrayList和List获取,删除元素是通过下标或对象名获取;
Hashtable,和Dictionary<key,value>获取,删除元素是通过key获取。
List和Dictionary<key,value>访问元素无须转换。
07:变量被标记为 “const” 和readonly” 有何不同?
答:
const修饰的常量在声明的时候必须初始化;readonly修饰的常量则可以延迟到构造函数初始化 ;
const 只读 但不能修改,readonly 只读可修改
08:“out” 和 “ref” 参数有何不同?用代码举例
答:
ref是引用把值类型转换成弓用,out是输出,区别是ref是输入兼输出的,out只是单纯的输出
public void num(ref int num1, ref int num2){ }
public void num(out int num1, out int num2){ }
09:“StringBuilder” 和 “String” 有何不同?
答:用string += 追加的时候会分配新的地址,StringBuilder不会 ,所以StringBuilder的运行速度会快,不会浪费资源空间。