01:在C#中,string str = null 与 string str = “” 请尽量使用文字或图象说明其中的区别
1. str=null;只是定义一个string的对象并没有分配空间,使用前必须初始化;
str=“”;一个为空的字符串,已经分配了空间
02:简述类和结构的相同点和不同点。并用代码举例。
答:
结构要用struct 可以定义字段,但不能直接初始化,直接初始化会报错,可以不用实例化
类可以字段直接初始化,要用这个类要实例化
03:什么是拆箱和装箱?举例说明
装箱:将值类型包装为引用类型
拆箱:将引用类型转换为值类型
例如
objetct obj = null;
obj = 1; //装箱
int i = (int) obj; //拆箱
04:编程实现一个冒泡排序
答:
static void Main(string[] args)
{
int[] num = new int[] {1,2,3,4,5,6,7,8,9 };
for (int i = 0; i < num.Length; i++)
{
Console.Write(num[i]+" ");
}
Console.WriteLine();
for (int i = 0; i < num.Length; i++)
{
for (int j = i; j < num.Length; j++)
{
if (num[i]<num[j])
{
int item = num[i];
num[i] = num[j];
num[j] = item;
}
}
}
Console.WriteLine("排序后");
foreach (var item in num)
{
Console.Write(item+" ");
}
}
05:编程实现一个递归方法
答:
5的乘阶的递归
static void Main(string[] args)
{
Console.WriteLine(Program.DiGui(5));
}
public static int DiGui(int i)
{
if (i == 1 || i == 2)
{
return i;
}
return DiGui(i - 1) * i;
}
06:说说目前学的集合有哪些?,每一种集合的特点以及使用场景
ArrayList list<T> HashTable Dictionary<K,V>
07:变量被标记为 “const” 和readonly” 有何不同?
const声明一个变量为常量,必须初始化,且不可被改变。
readonly声明后可初始化,也可以不初始化。构造函数中可以对该变量进行赋值,其它地方则不可被赋值
08:“out” 和 “ref” 参数有何不同?用代码举例
基本一样,但是Out先必须初始化
public void RefShiy(ref int num)
{
}
public void OutShiy(out int num)
{
num = 2;
}
09:“StringBuilder” 和 “String” 有何不同?
最大的区别就是,如果要大量的拼接的话用StringBuilder,不需要用string