C# 06/21/2020

学习C#的第六天

  1. 方法 补充

     -	方法的重载  
     	- 构成条件:
     		- 在同一个类中
     		- 方法名相同
     		- 参数列表不同
    
namespace test3
{
    
    public class Program
    {
        //方法的重载
        //写在同一类中
        //求圆面积
        static void WriteArea(double radius)
        {
            double area = System.Math.PI * radius * radius;
            Console.WriteLine("圆的面积是:{0}", area);
        }

        //求矩形面积
        static void WriteArea(double width, double height)
        {
            double area = width * height;
            Console.WriteLine("矩形的面积是:{0}", area);
        }

        //求三角形面积
        static void WriteArea(double a, double b, double c)
        {
            double p = (a + b + c) / 2;
            double area = System.Math.Sqrt(p * (p - a) * (p - b) * (p - c));
            Console.WriteLine("三角形的面积是: {0}", area);
        }

        static void Main(string[] args)
        {
            //利用方法重载调用方法
            WriteArea(3, 4, 5);
            WriteArea(25);
            WriteArea(10, 20);

            Console.ReadKey();
        }
    }
  1. 结构
namespace test3
{
    public struct StaffInfo {
        //将变量声明为public用于在Main方法中使用
        public string name;
        public int age;
        public string dep;
        public char gender;
    }
    
    public class Program
    {

        static void Main(string[] args)
        {
            StaffInfo zs = new StaffInfo();
            zs.name = "张三";
            zs.age = 25;
            zs.gender = '男'
            zs.dep = "人力部";

            Console.WriteLine("我叫{0},{1}岁,{2},在{3}工作", zs.name, zs.age, zs.gender, zs.dep);

            Console.ReadKey();
        }
    }
}

  1. 枚举
namespace test3
{
    //枚举可以在结构中被调用
    public enum Gender
    {,}

    public enum Week 
    {
        星期一, 
        星期二, 
        星期三, 
        星期四, 
        星期五, 
        周六 = 10, 
        周日
    }

    public class Program
    {

        static void Main(string[] args)
        {
            Gender zsgender = Gender.;
            Console.WriteLine("我是{0}生", zsgender);
            Week day = Week.周日;
            Console.WriteLine("今天是{0},可以摸摸鱼", day);

			 //将枚举转换为整型
            Console.WriteLine((int)zsgender);
            //将整型转换为枚举
            int a = 10;
            Console.WriteLine((Week)a);
            //将枚举转换为字符串  用ToString() 和 Convert.ToString()
            Console.WriteLine(zsgender.ToString());
            //将字符串转换为枚举
            //如果需要转换的字符不是数组,而且枚举值中不含有该值,就会报异常
            //如果需要转换的字符串是数字,且枚举值中不包含该值,不会报异常
            string str = "星期五";
            Console.WriteLine((Week)Enum.Parse(typeof(Week), str));
            Console.ReadKey();
        }
    }
}
  1. 类 与 属性
    - 类法中可以存放字段,可以存放属性,可以存放方法
    - 属性可以保护字段,对字段的取值与赋值进行限定
namespace test4
{
    //类法中可以存放字段,可以存放属性,可以存放方法
    class Clerk
    {
        private string _name;
        public string Name
        {
            get; //返回属性值
            set; //用于分配新值 这是自动属性
        }

        private char _gender;
        //属性初始化
        public char Gender
        {
            get //get用于对取值进行限定
            {
                if (_gender != '男' || _gender != '女') _gender = '男';
                return _gender; 
            }
            set //set对赋值进行限定
            { _gender = value; }
        }

        private int _age;
        //将get 与 set 称为访问器
        public int Age
        {
            get { return _age; }
            set 
            {
                if (value < 0 || value > 120) value = 0;
                _age = value; 
            }

        }

        private string _dep;
        public string Dep 
        {
            get;
            set;
        }
        
        public int _workYears;
        public int Workyears
        {
            get;
            set;
        }

        public void Write()
        {
            Console.WriteLine("{0},{1},{2}岁,在{3}任职了{4}年", this.Name, this.Gender, this.Age, this.Dep, this.Workyears);
        }
    }
  1. 构造函数 和 析构函数

     - 构造函数
     	- 构造函数没有返回值,不能写void,必须public
     	- 构造函数必须跟类名一样
     	- 构造函数是可以重载的
    
  		public Clerk(string name, Gender gender, int age, string dep)
        {
            // 在Main方法中实体化
            this.Name = name;
            this.Gender = gender;
            this.Age = age;
            this.Dep = dep;
        }
	- 析构函数
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值