1. 值类型与引用类型有什么区别?可空类型 null 可以赋值给那种类型?
值类型在内存中存储的是数值,引用类型在内存中存储的是单元地址,可空类型 null 可以赋值给引用类型。
& 和 && 的区别?
& 位运算符 “位与” && 逻辑运算符 “ 与 ”
2. String s = new String("xyz"); 创建了几个 String Object ?
两个 ,一个是 xyz, 另一个是指向 ”xyz” 的引用对象 s
short s1 = 1; s1 = s1 + 1; 有什么错 ? short s1 = 1; s1 += 1; 有什么错 ?
第一个存在着一个数值转换问题; short s1 = 1; s1 += 1; 第二个正确
3. C# 中的三元运算符是 ?:
6. 当整数 a 赋值给一个 object 对象时,整数 a 将会被 _____? ( 装箱 / 拆箱)
7.float f=-123.567F;
int i=(int)f;
i 的值现在是 -123
8. 什么是装箱和拆箱?代码示例。
从值类型转换到引用类型装箱。从引用类型转换到值类型拆箱。
Float val=3.14f;
Object boxed =val; // 装箱操作
Float unboxed=(float)boxed // 拆箱操作
9. 字符串是值类型还是引用类型?怎么判断两个字符串内容是否相等?
字符串是引用类型 , 它在内存中存储的是单元地址。用“ = = ”可以 判断两个字符串内容是否相等。
10. CTS 、 CLS 、 CLR 分别作何解释?
CTS :通用语言系统。 CLS :通用语言规范。 CLR :公共语言运行库。
11 .Which of these string definitions will prevent escaping on backslashes in C#?
1. string s = # ” /n Test string ” ;
2. string s = “’ /n Test string ” ;
3. string s = @ ” /n Test string ” ;
4. string s = “ /n Test string ” ;
12. a=3,b=5 ,在不用第三方变量的前提下,把 a,b 的值互换
a = a+b;
b = a –b;
a = a- b;
代码部门(节选)
int a=10;
int b=15;
Console .WriteLine(" 转换前 a={0},b={1}" ,a,b);
a=a+b;
b=a-b;
a=a-b;
Console .WriteLine(" 转换后 a={0},b={1}" ,a,b);
Console .Read();
13. 某一密码仅使用 K 、 L 、 M 、 N 、 O 共 5 个字母,密码中的单词从左向右排列,密码单词必须遵循如下规则:
( 1 ) 密码单词的最小长度是两个字母,可以相同,也可以不同
( 2 ) K 不可能是单词的第一个字母
( 3 ) 如果 L 出现,则出现次数不止一次
( 4 ) M 不能是最后一个也不能是倒数第二个字母
( 5 ) K 出现,则 N 就一定出现
( 6 ) O 如果是最后一个字母,则 L 一定出现
问题一:下列哪一个字母可以放在 LO 中的 O 后面,形成一个 3 个字母的密码单词?
A) K B)L C) M D) N
问题二:如果能得到的字母是 K 、 L 、 M ,那么能够形成的两个字母长的密码单词的总数是多少?
A)1 个 B)3 个 C)6 个 D ) 9 个
问题三:下列哪一个是单词密码?
A) KLLN B) LOML C) MLLO D)NMKO
14. 62-63=1 等式不成立,请移动一个数字(不可以移动减号和等于号),使得等式成立,如何移动?
应该移动 6 ,把他移动成 2 的六次方。
15. (int) 转换和 Convert.ToInt32 转换的区别 ?
(int) 转换强制转换的只能是数值类型,而 Convert.ToInt32 转换是内容的转换成 int 形式。
16. Const 代表什么意义,使用时应该注意什么问题?
Const 代表的是 常量的声明,常量必须在声明时初始化,在程序运行过程中其值不改变 17. 在 .NET 中所有类的基类是?
System.Object 类
18. 在 C #中, string str = null 与 string str = “” 请尽量使用文字或图象说明其中的区别 .( 内存分配空间 )
区别: string str = null 代表是空,在内存中没有分配空间
string str = “”代表空字符串,在内存中分配了空间无任何东西
19 . checked 关键字和 unchecked 关键字的作用? is 运算符的作用 ? as 运算符的作用 ?
checked 关键字是强制检查数值的溢出 , unchecked 关键字的作用是不检查数值的溢出 is 操作符用于检查变量是否指定的类型 , as 运算符用于转换引用类型
20. Console.Read() 与 Console.ReadLine() 的区别?
Console.Read() 从标准输入流读取下一个字符;
Console.ReadLine() :从标准输入流读取下一行字符;
21. 布尔类型( bool ) 是否可以与数值之间转换?为什么 ?
不能转换,因为 bool 它只有两种数值 True 和 False.
22. 什么是结构( struct ),请用代码示例。
结构它是一种数值类型,通常用来封装小型相关变量组
节选部门代码:
Class Struct
{
Book book=new Book() ;
book.title=”C# 编程 ”;
book.price=124.44m;
Console.writeLine(“{0}/n{1}”,book.title,book.price);
}
Struct Book // 声明 struct
{
Pubic string title;
Pubic decimal price;
}
23. 隐式转换和显示转换的区别?
隐式转换 : 将低精度数值转换为高精度数值,直接赋值而不用转换。显示转换则反之,它要转制转换,要指名转换的目标数据类型。
24. 堆和栈的区别?
栈是编译期间就分配好的内存空间,因此你的代码中必须就栈的大小有明确的定义;局部值类型变量、值类型参数等都在栈内存中 。
堆是程序运行期间动态分配的内存空间,你可以根据程序的运行情况确定要分配的堆内存的大小。