C#在类的属性对非法值的进行限定的三种方法

为了防止用户输入或传入非法值,我们往往需要对类中的属性进行限定。比如在登录系统中,限定密码为数字则必须输入数字,对于年龄的限定必须为0~120,对于性别的设定必须为男或女,现在介绍三种限定方法

属性是用于保护和限定字段的,属性的限定一般是set和get方法,其中set方法是在给属性赋值的时候执行
的,而get则是在对属性进行打印调用的时候使用的
首先我们先创建一个person类,和类下的字段和属性

 public class Person//非静态类
    {
        string _name;//定义字段
        public  string Name//定义属性
        {
            get { return _name; }//打印值的时候使用get方法
            set {_name = value; }//给对象的属性赋值时使用set方法
        }
	

以上是一个类中的字段和属性的创建,然后我们对name进行一个限定

1.对类下的属性中的get方法进行限定

public  string Name
        {
            get { return _name; }
            set {
                if (value != "admin")
                {
                    value = "admin";//在此限定了Name无论输入什么都是admin
                }
                _name = value; }//给对象的属性赋值时使用set方法
        }

需要我们对value进行一个条件判断

2.对类下的属性中的set方法进行限定

		int _age;
        public int Age
        {
            get {
                if (_age > 120 || _age < 0)
                {
                    return _age = 0;
                }
                return _age; }
            set { _age = value; }
        }

需要我们在get中对字段进行一个判断

3.在构造函数中进行限定

构造函数

public Person(string name,int age,char gender)
        {
            this.Name = name;
            this.Age = age;
            if(gender!='男'&&gender!='女')
            {
            	gender='男';
			}
            this.Gender = gender; 
        }
        

此时当我们调用函数的时候,输入的值若不是男或者女,则会赋值为男
在类文件中新建一个方法

public void out1()
{
	Console.WriteLine("{0},{1},{2}",this.Name,this.Age,this.Gender);
}

然后我们在main函数中新建一个Person对象,根据我们的构造函数传入参数并调用out1方法

Person p = new Person("user",-1,'中');
p.out1();

在这里插入图片描述

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Thray.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值