当前位置: 首页 > news >正文

变量get、set设置

422101-20170425175551256-972024075.png

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Demo
{   

    public class MyClass
    {
        public readonly string Name; // 定义只读变量
        private int intVal;          // 私有过渡变量

        public int Val // 公开变量,对其进行get、set设置
        {
            get
            {
                return intVal;
            }
            set
            {
                if(value >= 0 && value <= 10)
                {
                    intVal = value;
                }
                else
                {
                    throw (new ArgumentOutOfRangeException("Val", value, "值必须在0到10之间。"));
                }
            }
        }

        public override string ToString() // 重构ToString方法
        {
            return "Name:" + Name + "\nVal:" + Val;
        }

        public MyClass(string newName) // 构造函数
        {
            Name   = newName;
            intVal = 0; 
        }

        static void Main(string[] args)
        {
            MyClass objectA = new MyClass("China!");
            objectA.Val = 11; // 报错,因为已经限定了值的范围
            Console.WriteLine("{0}",objectA.ToString());
            Console.ReadKey();
        }
    }
}

相关文章:

  • 《C语言及程序设计》实践参考——递归函数
  • CSS空白符处理!
  • SQL判断一个数是整数还是小数
  • 第9章 Spring Boot开发者工具
  • Objective C多态
  • Hadoop 架构简介
  • 创业路(VC Pipeline),创业需要融资的阅读
  • 令人血脉喷张的animate.css
  • quartz+spring定时任务常见错误总结
  • HTML 超链接a的几种用法
  • java_JDBC(4)
  • svnserver搭建
  • Android视图绘制流程完全解析,带你一步步深入了解View(二)
  • OTS工作坑
  • GDB调试详解
  • [case10]使用RSQL实现端到端的动态查询
  • 「面试题」如何实现一个圣杯布局?
  • Java教程_软件开发基础
  • Nacos系列:Nacos的Java SDK使用
  • opencv python Meanshift 和 Camshift
  • Phpstorm怎样批量删除空行?
  • Sequelize 中文文档 v4 - Getting started - 入门
  • thinkphp5.1 easywechat4 微信第三方开放平台
  • 仿天猫超市收藏抛物线动画工具库
  • 回流、重绘及其优化
  • 前端学习笔记之观察者模式
  • 删除表内多余的重复数据
  • 一道面试题引发的“血案”
  • AI又要和人类“对打”,Deepmind宣布《星战Ⅱ》即将开始 ...
  • 教程:使用iPhone相机和openCV来完成3D重建(第一部分) ...
  • ​如何防止网络攻击?
  • #162 (Div. 2)
  • #Linux杂记--将Python3的源码编译为.so文件方法与Linux环境下的交叉编译方法
  • #数学建模# 线性规划问题的Matlab求解
  • (delphi11最新学习资料) Object Pascal 学习笔记---第5章第5节(delphi中的指针)
  • (Demo分享)利用原生JavaScript-随机数-实现做一个烟花案例
  • (pojstep1.3.1)1017(构造法模拟)
  • (二)斐波那契Fabonacci函数
  • (非本人原创)我们工作到底是为了什么?​——HP大中华区总裁孙振耀退休感言(r4笔记第60天)...
  • (四)c52学习之旅-流水LED灯
  • (算法)前K大的和
  • (一)基于IDEA的JAVA基础10
  • (译) 函数式 JS #1:简介
  • (译)2019年前端性能优化清单 — 下篇
  • (转)C语言家族扩展收藏 (转)C语言家族扩展
  • (转)德国人的记事本
  • (转)详解PHP处理密码的几种方式
  • .NET 8 中引入新的 IHostedLifecycleService 接口 实现定时任务
  • .NET Framework 4.6.2改进了WPF和安全性
  • .NET 中使用 Mutex 进行跨越进程边界的同步
  • .net6 webapi log4net完整配置使用流程
  • .net反编译的九款神器
  • .NET关于 跳过SSL中遇到的问题
  • .NET简谈互操作(五:基础知识之Dynamic平台调用)
  • .Net中的集合