C#测试(二)

一.单选题

1.在C#中,从属性的读写特性上来进行分类,可以划分为以下三种,除了()。

A.只读属性

B.只写属性

C.读写属性

D.不可读不可写的属性

2.以下类MyClass的属性count属于()属性

cs 复制代码
class MyClass
{ 
    int i;
    int count
    { 
        get{ 
            return i;
        }
    }    
}

A.只读

B.只写

C.可读写

D.不可读不可写

3.在类A中定义了属性y:

cs 复制代码
class A
{ 
    public int y;
    { 
        get{ 
            return 1; 
        }
        set {}
    }
}

并试图通过下列代码来实现对属性y的访问:

cs 复制代码
A b=new A();
b.y=2;
int x=b.y;

对此,下列说法正确的是()

A.属性y可读可写,因此变量x的值为2

B.属性y可读,但不可写,因此语句"b.y=2;"是错误的

C.属性y可写,但不可读,因此语句"int x=b.y;是错误的

D.属性y可读可写,变量x的值为1

五. 程序题

  1. 本题实现一个员工类Emlployee,该类包含两个私有字段员工姓名name和出生年份birthyear,一个静态字段员工人数employeeNum。要求补全员工类Emlployee代码, 使该类有一个公共的读写属性Name,一个只读属性Age,一个构造函数:给姓名name和出生年份birthyear通过参数赋值,并且每新建一个员工,员工人数employeeNum加一
cs 复制代码
using System;

namespace ConsoleApplication1
{ 
    public class Emlployee  //员工类
    {
        private string name; //员工姓名
        private int birthyear; //出生年份
        public static int employeeNum=0;  //员工数量

        /* 你的代码写在这里 ,提交时交完整程序,不能只提交该函数*/
    }

    public class myCaller
    {
        public static void Main(string[] args)
        {
            string name;
            int birthYear;
            //Console.Write("请输入一共有多少个员工:");
            int num = Convert.ToInt32(Console.ReadLine());
            Emlployee[] emp = new Emlployee[num];
            for (int i=0;i<num;i++)
            {
                //Console.Write("请输入员工姓名:");
                name = Console.ReadLine();
                //Console.Write("请输入员工出生年份:");
                birthYear = Convert.ToInt32(Console.ReadLine());
                emp[i] = new Emlployee(name,birthYear);
            }

            for (int i = 0; i < num; i++)
            { 
                Console.WriteLine("姓名:" + emp[i].Name + ";    年龄:" + emp[i].Age + ";");
            }
            Console.WriteLine("员工数:" + Emlployee.employeeNum);
        }
    }
}
cs 复制代码
using System;

namespace ConsoleApplication1
{ 
    public class Emlployee  //员工类
    {
        DateTime dt = DateTime.Now;
        private string name; //员工姓名
        private int birthyear; //出生年份
        public static int employeeNum=0;  //员工数量

        /* 你的代码写在这里 ,提交时交完整程序,不能只提交该函数*/
        public  string Name{
            get{
                return name;
            }
            set{
                name=value;
            }
        }

        public int Age{
            get{
                return Convert.ToInt32(dt.Year)-birthyear;
            }
        }
        
        public Emlployee(string name,int birthYear){
            this.name=name;
            this.birthyear=birthYear;
            Emlployee.employeeNum++;
        }
    }

    public class myCaller
    {
        public static void Main(string[] args)
        {
            string name;
            int birthYear;
            //Console.Write("请输入一共有多少个员工:");
            int num = Convert.ToInt32(Console.ReadLine());
            Emlployee[] emp = new Emlployee[num];
            for (int i=0;i<num;i++)
            {
                //Console.Write("请输入员工姓名:");
                name = Console.ReadLine();
                //Console.Write("请输入员工出生年份:");
                birthYear = Convert.ToInt32(Console.ReadLine());
                emp[i] = new Emlployee(name,birthYear);
            }

            for (int i = 0; i < num; i++)
            { 
                Console.WriteLine("姓名:" + emp[i].Name + ";    年龄:" + emp[i].Age + ";");
            }
            Console.WriteLine("员工数:" + Emlployee.employeeNum);
        }
    }
}
相关推荐
CHANG_THE_WORLD2 小时前
C语言中的 %*s 和 %.*s 和C++的字符串格式化输出
c语言·c++·c#
zxbmmmmmmmmm8 小时前
在 Avalonia 中编写高性能动画
c#·xaml·avalonia·compositon
加号310 小时前
【C#】 HTTP 请求通讯实现指南
开发语言·http·c#
步步为营DotNet10 小时前
.NET 11 中 Microsoft.Extensions.AI 在智能后端推理与决策优化的应用
云原生·c#·.net
工程师00711 小时前
.NET 线程池 工作线程 扩容 + 空闲 + 回收 原理
c#·线程池·扩容·回收·空闲
njsgcs11 小时前
c# solidworks createline 拉伸发现有微小两点间隙 导致拉伸变成薄壁特征 改bug画了6个小时 解决结果
c#·bug·solidworks
时光追逐者11 小时前
一款基于 C# 开发的 Windows 10/11 系统增强工具,精简、优化、定制一站完成!
开发语言·windows·c#·.net
绿豆人11 小时前
进入内核-中断开启
开发语言·c#
步步为营DotNet11 小时前
.NET 11 中 C# 14 新特性在云原生微服务安全与性能优化的深度探索
云原生·c#·.net