C#测试题(二)

C#测试题(二)

1.C#中提供的15种属性类型分别是哪些

sbyte(8位有符号整数),byte(8位无符号整数)
short(16位有符号整数),ushort(16位无符号整数)
int(32位有符号整数),uint(32位无符号整数)
long(64位有符号整数),ulong(64位无符号整数)
double 双精度,float 单精度 小数后面加F
decimal 精度 小数后面加M,
char 单引号中有且只有一个
string 双引号中随便写,bool true/false
object 啥类型都行

2.C#中属性赋值的四个步骤详细说明

第一步
看属性类型,如果属性类型是C#中预定义的15种,直接赋值
整数8种
第二步
属性类型不属于预定义的15种,等号后面试着空格,如果出现智能提示,直接点,选择一个需要的选项分号结束
第三步
属性类型不是15种,等号后面空格也不起作用,等号后面new,敲个空格,出现智能提示,直接一对小括号分号,然后删掉前半个括号,再添加上,根据弹框中的提示针对括号中的每一个属性重复使用属性赋值方式进行赋值。
第四步
等号后面直接使用属性类型单词点,根据提示选择一个想要的结果

3.C#中方法赋值的基本过程详细说明

方法(方块)删掉前半个括号然后在加上看,根据提示进行属性赋值的四个步骤进行赋值

4.C#中方法的参数有哪些类型?

1.值参数(不加任何修饰符,是默认的类型)
2.引用型参数(以ref 修饰符声明)
3.输出参数(以out 修饰符声明)
4.数组型参数(以params 修饰符声明)

5.详细说明装箱和拆箱

装箱(box):把值类型对象转为引用类型的对象;
拆箱(unbox):把引用类型对象转为值类型的对象。
拆箱前必须要有装箱过程

6.C#中的所有数据类型可分为哪些类型?详细介绍

值类型:除了string和object,其余的数据类型都是值类型
引用类型:十五种数据类型中只有string和object是引用类型

7.常用的属性类型转换方式有哪些? 至少三种

隐式转换
显式转换
1.int.Parse()方法
该方法只能string类型数组字符串强制转换为int类型
eg: int a=int.parse(“数字”);
2.(char)Num
整数前使用(char)将Num当十进制ASCII码转成其对应的字符
(xxx)NNN:将NNN类型强制转换为xxx类型
3.xxx.TString()
ToString方法是每个对象基本具有的方法,作用是将这个对象直接转换成string类型

8.String和 StringBuilder 的区别是什么?

String对象是不可变的,包括长度或者任何字符是不可改变的,不能使用new关键字来构造一个string对象
StringBuilder是可变的,它是专门对字符串和字符执行动态操作的类,它的内部有一个足够长的字符数组用来存放字符串对象,当字符串长度没超过字符数组长度时,所有的操作都是针对同一个数组,超过时,则自动创建一个更长的数组,把原来的数据复制到新的数组中

9.如何将“Hello World”中的‘0’和‘l’替换为’0’和“1”

replays关键字,用indexof查找

10.说出数组和集合区别有哪些

数组:数组是一个存储相同类型元素的固定大小的顺序集合,数组是用来存储数据的集合,通常认为数组是一个同一类型变量的集合
集合Array:Array是数组的本质对象,Array类是C#中所有数组的基类,提供了各种用于数组的属性和方法

11.使用“==”和 Equals 做比较的区别
  1. == 是一个运算符。
    2.Equals则是string对象的方法,可以.(点)出来。
    1、基本数据类型比较
    ==和Equals都比较两个值是否相等。相等为true 否则为false;
    2、引用对象比较
    ==和Equals都是比较栈内存中的地址是否相等 。相等为true 否则为false;
12.方法的参数可分为哪两种,详细介绍

有参方法:方法至少含有有一个或多个参数
无参方法:方法不具有参数

13.时间的两个参数 sender、e的作用分别是什么

sender:所有事件的sender参数的类型是一样的:object
sender参数代表事件的发起者对象,这个事件是由哪个对象生成的,那么通过这个sender参数获取到这个对象
e:e参数是事件的触发者对象,这个事件是由哪个对象触发的,则e就是谁,例如所有的鼠标事件,e就是鼠标对象

14.方法参数使用ref 和 out修饰之后有什么作用?详细介绍

ref可以把值传到方法里,也可以把值传到方法外
out只可以把值传到方法外
Ref和Out这样个2个关键字都能够提供相似的功效,其作用也很像C中的指针变量。稍有不相同之处是:
用Ref型参数时,传入的参数必须先被初始化。而Out则不要要,对Out而言,就必须在方法中对其完成初始化。
用Ref和Out时都必须注意,在方法的参数和执行方法时,都要加Ref或Out关键字。以满足匹配。
Out更适合用在要要Return多个返回值的地方,而Ref则用在要要被调出使用的方法修改调出使用者的引用的时候。

15.详细说明参数数组和数组参数的区别是什么

参数数组:当声明一个方法时,您不能确定要传递给函数作为参数的参数数目,参数数组通常用于传递未知数量的参数函数
数组参数:传递数组作为函数的参数,可以通过指定不带索引的数组名称来给函数传递一个指向数组的指针

16.控制台中console.Write 和 console. WriteLine的区别是什么

Console.WriteLine():控制台输出,不换行。 重载
Console.Write():控制台输出,换行。

17.数组的声明初始化方式有哪些?(至少三种)

声明一个数组不会在内存中初始化数组,
当初始化数组变量时,可以赋值给数组数组是引用类型,
需要用new关键字来创建数组的实例

18.请介绍 return, break, continue的区别

break 语句可以立即退出循环,阻止再次反复执行循环代码。
continue 语句只是退出当前循环,根据控制表达式还允许继续进行下一次循环。
return 退出当前方法,终止当前方法的执行。

19.static关键字的用法有那些

只能包含静态成员,非静态成员不能使用,而非静态类可以包含静态的方法,字段,属性,事件,无论对这个非静态类创建多少个实例,它的静态成员只有一个
不能对其实例化
不能被继承 静态类是一个抽象的密封类
不能包含实例构造函数

20.XAML/XML/HTML的中文意思是什么

XAML:可扩展应用程序标记语言
XML:可扩展标记语言
HTML:超文本标记语言

21.请说明转义字符是什么?使用时需要注意哪些?

C#中转义字符分2中,一种是,一种是@。
@符号在C#中有两个作用
作用1、在字符串的前面加@表示取消字符串中的转义
例如 string path=@“d:\root\subdir”;
作用2、如果用户定义的对象名和系统关键字冲突,可以在变量前面加入@
例如 string @Class=“this is a test”;

22.占位符的作用是什么?使用时需要注意哪些?

在标准的字符串中可以使用{index}用来标记占位符
在字符串结尾使用“,”隔开每个位置上的参数

占位符的索引必须从0开始
占位符之后参数顺序严格按照从左到右索引从0开始
占位符之后的参数的索引必须等于或大于占位符的最大索引
占位符的索引可以重复并且不连续

23.正则表达式的基本工作原理是什么?

正则表达式是一种匹配输入文本的模式。.Net框架提供了允许这种匹配的正则表达式引擎。模式由一个或多个字符、运算符和结构组成
正则表达式的本质还是一个字符串
检索:通过正则表达式,从字符串中获取我们想要的部分
匹配:判断给定的字符串是否符合正则表达式的过滤逻辑
可以认为正则表达式表述了一个字符串的书写规则,判断用户输入的密码是否合法,判断用户输入的邮箱正则表达式的匹配是按照每个位置的字符进行判断验证的

24.如何将“2,3,1,0,6,5,4”从小到大进行排序,写出详细算法

class Program
{
static void Main(string[] args)
{
int[] arrStr = { 2, 3,1, 0, 6,5,4 };
for (int i = 1; i < arrStr.Length; i++)
{
for (int j = 0; j < arrStr.Length - i; j++)
{
int temp;
if (arrStr[j] > arrStr[j + 1])
{
temp = arrStr[j];
arrStr[j] = arrStr[j + 1];
arrStr[j + 1] = temp;
}
}
}
for (int i = 0; i < arrStr.Length; i++)
{
Console.WriteLine(arrStr[i]);
}
Console.ReadKey();
}
}

25.使用递归算法求出斐波那契数列的第10位是多少,写出详细算法

///
/// 斐波那契数列
///
/// 数字的个数
///
public int Fib(int index)
{
//数字个数小于0返回0
if (index < 1)
{
return 0;
}
//前面两个数字
else if (index == 1 || index == 2)
{
return 1;
}
//计算前一个和前两个
else
{
return Fib(index - 1) + Fib(index - 2);
}
}

发布了96 篇原创文章 · 获赞 147 · 访问量 9809

猜你喜欢

转载自blog.csdn.net/chonbi/article/details/104117598