C#作业(四)【学完第二十八部分可做】

一、简答题:

1、在C#的方法中void表示什么意思?

void表示方法无返回值

 

2、简述class类和struct结构的区别?

①类在声明字段时可以初始化字段;结构不能

②类是引用类型;结构是值类型

③类的构造方法可以初始化一部分字段;结构的构造方法必须初始化全部字段

④类使用时要创建(new);结构不需要

 

3、在字符串处理类中使用什么方法可以截图字符串中的部分内容?

substring(2,10) 从下标2开始,截取10个长度

 

4、简述数组和集合各自的应用场景,以及他们之间的优缺点?

【数组】有序,通过下标访问,速度快;固定长度

          存放的数据安全,取出是不用做类型转换;只能存放固定数量的内容,只能存放固定类型

【集合】任意长度,长度可变

          能存放任意类型的值,也能存放任意数量的内容;存放的数据不安全,取出时一定要做类型转换

 

5、请举例说明你所知道的C#数据类型转换方式分别有哪些?以及它们之间有什么区别?

【类型转换方式】强制类型转换(显示的转换);隐式类型转换(不需要手动转换,会自动转换,数据会丢失精度)

①(int)obj、Convert、int.Parse()等转换失败抛出异常;

②as转换失败为null或0,转引用类型;

③int.TryParse("zs",out result);

 

6、谈谈你理解的什么是装箱?什么是拆箱?并给出代码举例。

【装箱】值类型--换成--引用类型

          int test1 = 1;

         object obj = test;//基类(父类)

【拆箱】引用类型--换成--值类型

         int hug = (int)obj;

 

7、简述引用类型和值类型的区别?

【引用类型】栈中存放地址和变量名,堆中放值(堆中有垃圾回收机制GC,不断地垃圾回收)

【值类型】栈中存放值,调用效率高,比较占内存

 

 

二、编程题

1、编写代码描述动态获取zhangsan@163.com和666888@qq.com 后面163.com或qq.com的域名部分?

static void Main(string[] args)
{
    GetData();
}
public static void GetData()
{
    Console.WriteLine("请输入您的邮箱:");
    string email = Console.ReadLine();
    int position = email.IndexOf("@");
    string result = email.SubString(position+1);
    Console.WriteLine(result);
}

 

2、创建一个学生类,字段有学号、姓名、年龄以及班级名称,添加构造方法。

在测试类中完成以下代码编写:

创建ArrayList集合,创建三个学生对象使用构造方法赋值,并添加到该集合中,创建一个老师对象也放到集合中。删除ArrayList中第二个加入的学生并循环打印剩余学生信息(注:循环时,类的兼容判断)。

见二十八

3、创建Hashtable集合,创建三个学生对象使用构造方法赋值,并添加到该集合中。根据Hashtable集合添加数据时的key值,删除其中一条信息,并循环打印剩余学生信息。(打印可以用foreach或for循环)

见二十八

4、使用:List<T>泛型集合完成第2题ArrayList集合的操作,使用Dictionary<K,V>完成第3题Hashtable集合的操作。

见二十八

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值