002 C#类

01:在C#中,string str = null 与 string str = “” 请尽量使用文字或图象说明其中的区别。

答:string  str=null是不给他分配内存空间,而string  str=“”给它分配长度为空字符串的内存空间.

02:简述类和结构的相同点和不同点。并用代码举例。

答:C中的结果仅仅就是一个结构体,C++中类含有面向对象的思想,具有继承、重载、多态等特性。

 

03:什么是拆箱和装箱?举例说明

答:从值类型接口转换到引用类型装箱。从引用类型转换到值类型拆箱

 04:编程实现一个冒泡排序

05:编程实现一个递归方法

06:说说目前学的集合有哪些?,每一种集合的特点以及使用场景

答:(1)ArrayList是List接口的可变数组非同步实现,并允许包括null在内的所有元素,相当于List < object>
       (2)List < T >泛型的List 类是一个不限长度的集合类型,它内部实际就是一个数组,初始长度是4,
           每次数组到达限制,就会把现有容量翻倍,它提供用于对集合进行搜索、排序和操作等方法
            List是数组链表,数组链表访问快,复杂度O(1),但是添加删除复杂度O(n)
       (3)Dictionary<TKey, TValue> 泛型强类型字典,表示键值对的集合,使用键访问,内部是哈希表实现
       (4)Hashtable是System.Collections命名空间提供的一个容器,用于处理和表现类似key/value的键值对
           基本概念:
         Hashtable使用了闭散列法来解决冲突,它通过一个结构体bucket来表示哈希表中的单个元素,这个结构体中有三个成员:
       (1) key :表示键,即哈希表中的关键字。
       (2) val :表示值,即跟关键字所对应值。
       (3) hash_coll :它是一个int类型,用于表示键所对应的哈希码。
          哈希表的所有元素存放于一个名称为buckets(又称为数据桶)的bucket数组之中

07:变量被标记为 “const” 和readonly” 有何不同?

答:const:一但赋了值就不能再更改,字段只能在该字段的声明中初始化;
       readonly:只读属性,一但定义便不能更改,只能阅读,字段可以在声明或构造函数中初始化

08:“out” 和 “ref” 参数有何不同?用代码举例

概述:

ref 关键字使参数按引用传递。其效果是,当控制权传递回调用方法时,在方法中对参数所做的任何更改都将反映在该变量中。若要使用 ref 参数,则方法定义和调用方法都必须显式使用 ref 关键字。

out 关键字会导致参数通过引用来传递。这与 ref 关键字类似,不同之处在于 ref 要求变量必须在传递之前进行初始化。若要使用 out 参数,方法定义和调用方法都必须显式使用 out 关键字。 

同:

1、都能返回多个返回值。

2、若要使用 ref 和out参数,则方法定义和调用方法都必须显式使用 ref和out 关键字。在方法中对参数的设置和改变将会直接影响函数调用之处(参数的初始值)。

异:

1、ref指定的参数在函数调用时候必须初始化,不能为空的引用。而out指定的参数在函数调用时候可以不初始化;

2、out指定的参数在进入函数时会清空自己,必须在函数内部赋初值。而ref指定的参数不需要。

口诀:

ref有进有出,out只出不进。

 

运行结果为 

x=521,y=520

 

09:“StringBuilder” 和 “String” 有何不同?

答:String可以储存和操作字符串,即包含多个字符的字符数据。这个String类提供了存储数值不可改变的字符串。

StringBuilder是线程不安全的,运行效率高,如果一个字符串变量是在方法里面定义,这种情况只可能有一个线程
访问它,不存在不安全的因素了,则用StringBuilder。如果要在类里面定义成员变量,并且这个类的实例对象会在
多线程环境下使用或者变量的内容不断变化,那么最好用StringBuffer。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值