21.什么是强类型,什么是弱类型?哪种更好些?为什么?
答:强类型是在编译的时候就确定类型的数据,在执⾏时类型不能更改,⽽弱类型在执⾏的时候才会确定类型。没有好不好,⼆者各有好处,强类型安全,因为它事先已经确定好了,⽽且效率⾼。
⼀般⽤于编译型编程语⾔,如c++,java,c#,pascal等,弱类型相⽐⽽⾔不安全,在运⾏的时候容易出现错误,但它灵活,多⽤于解释型编程语⾔,如javascript,vb,php等
22.using关键字的作⽤
答:1.引⽤命名空间,也可using 别名
2.释放资源,实现了IDisposiable的类在using中创建,using结束后会⾃定调⽤该对象的Dispose⽅法,释放资源。
23.ref和out有什么区别
答:1.都是按引⽤类型进⾏传递
2.属性不是变量不能作为out、ref参数传递
3.ref参数必须初始化。out不需要初始化
4.作⽤,当⽅法有多个返回值时,out⾮常有⽤
24.a.Equals(b)和a==b⼀样吗?
答:不⼀样,a==b仅仅表示a和b值相等,a.Equals(b)表示a与b⼀致
25.下⾯这段代码求值
o1.count的值是多少?
class Class1
{
internal static int count = 0;
static Class1()
{
count++;
}
public Class1()
{
count++;
}
}
Class1 o1 = new Class1();
Class1 o2 = new Class1();
答案:3,静态 构造⽅法计算⼀次,两个实例化对象计算两次。
26.关于构造函数说法正确的是哪个?
a)构造函数可以声明返回类型。
b)构造函数不可以⽤private修饰
c)构造函数必须与类名相同
d)构造函数不能带参数
答案:c ,构造函数必须与类名相同,可以传递多个传递,作⽤就是便于初始化对象成员,不能有任何返回类型
27.Math.Round(11.5)等於多少? Math.Round(-11.5)等於多少?
答:Math.Round(11.5)=12
Math.Round(-11.5)=-12
28.&和&&的区别
相同点
&和&&都可作逻辑与的运算符,表示逻辑与(and),当运算符两边的表达式的结果都为true时,其结果才为true,否则,只要有⼀⽅为false,则结果为false。(ps:当要⽤到逻辑与的时候&是毫⽆意义,&本身就不是⼲这个的)`在这里插入代码片`不同点
···
if(loginUser!=null&&string.IsnullOrEmpty(loginUser.UserName))
···
&&具有短路的功能,即如果第⼀个表达式为false,则不再计算第⼆个表达式,对于上⾯的表达式,当loginUser为null时,后⾯的表达式不会执⾏,所以不会出现NullPointerException如果将&&改为&,则会抛出NullPointerException异常。(ps:所以说当要⽤到逻辑与的时候&是毫⽆意义的)& 是⽤作位运算的。
总结&是位运算,返回结果是int类型 &&是逻辑运算,返回结果是bool类型
29. i和i有什么区别?
答:1.i++是先赋值,然后再⾃增;++i是先⾃增,后赋值。
2.i=0,i++=0,++i=1; Console.WriteLine(i==i); 结果位true
30.as和is的区别
答:as在转换的同时判断兼容性,如果⽆法进⾏转换,返回位null(没有产⽣新的对象),as转换是否成功判断的依据是是否位null is只是做类型兼容性判断,并不执⾏真正的类型转换,返回true或false,对象为null也会返回false。
as⽐is效率更⾼,as只需要做⼀次类型兼容检查
PS:建议基础语法(一)至(三)一起看完哦。