菜鸟必会
01:在C#中,string str = null 与 string str = “” 请尽量使用文字或图象说明其中的区别。
答:string str= " ",表示一个空串,被实列化了,占用了内存空间,
string str=null,表示一个空引用,没有占用了空间,
02:简述类和结构的相同点和不同点。并用代码举例。
异: 1.关键字不同 一个是class,一个是struct 2.类型不同,一个是引用类型,一个是值类型(一个堆区,一个栈区) 3.成员不同,结构体没有默认的构造函数(可以添加)和没有析构函数,不可以使用abstract,protected,sealed修饰
同: 1.都有属性和方法 2.和类一样可以继承自接口
public struct Student
{
string Name;
int Age;
}
public class Question
{
int Number;
string Content;
}
使用:
Student s=new Student();
03:什么是拆箱和装箱?举例说明
装箱:
就是将值类型转换成引用类型
//装箱;装箱就是指将值类型转换成引用类型int n1 = 10;object o1 = n1; //发生了装箱拆箱:
就是将引用类型转换成值类型
//拆箱;拆箱就是指将引用类型转换成值类型int n2 = (int)01; //发生了拆箱
04:编程实现一个冒泡排序
static void Main(string[] args){Console.WriteLine("将10个数存入数组中,然后实现冒泡排序");double[] c = new double[10] { 2, 3, 5, 7, 12, 27, 77, 23, 17, 99 };int i, j;double m;for (i = 0; i < 10; ++i)for (j = 0; j < 10 - i - 1; ++j){if (c[j] > c[j + 1]){m = c[j];c[j] = c[j + 1];c[j + 1] = m;}}Console.Write("10个数冒泡排序后(按从小到大的顺序)为:");foreach (double var in c){Console.Write(var); //依次读取字符串中的元素 Console.Write(" ");}Console.ReadKey();}}
05:编程实现一个递归方法
public static int Fibonacci(int n){if (n < 0) return -1;if (n == 0) return 0;if (n == 1) return 1;return Fibonacci(n - 1) + Fibonacci(n - 2);}
06:说说目前学的集合有哪些?,每一种集合的特点以及使用场景
答: ArrayList类似于数组,有人也称它为数组列表。
HashTable元素时可以直接通过键名来获取具体值
泛型集合: List
泛型集合Dictionary
07:变量被标记为 “const” 和readonly” 有何不同?
Const是常量的意思,其定义的变量只能读取不能更改,且只能在定义时初始化,不能在构造函数与其它属性与方法中初始化
readonly是只读的意思,其定义的变量在运行期间也只能读取不能更改
08:“out” 和 “ref” 参数有何不同?用代码
ref是引用,out是输出,区别是ref是输入兼输出的,out只是单纯的输出举例
public void foo(ref int r, out int o)
{if (o == 1)... // 错误,不能使用out的参数,因为o可能会被自动清空if (r == 0) // 读取r的值o = 0; // 设置o的值elseo = -r;r = 0; // 设置r的值
}public void Test()
{int r, o;r = 0;foo(ref r, out o);
}
09:“StringBuilder” 和 “String” 有何不同?
StringBuilder数值可以改变
string的数值不能被改变
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
