C#中的字段与属性

简介: 版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/chinahuyong/article/details/2962660 using System;using System.
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/chinahuyong/article/details/2962660

using System;
using System.Collections.Generic;
using System.Text;

namespace Example11_1 {
    class Program {
        static void Main(string[] args) {
            Farmer farmer = new Farmer();
            farmer.Name = "Liu";
            farmer.Age = 226;

            Console.WriteLine(farmer.Age);

            Console.ReadLine();
        }
    }

    class Farmer {
        /// <summary>
        /// Farmer类的无参数构造函数
        /// </summary>
        public Farmer() {
        }

        /// <summary>
        /// Farmer类的构造函数
        /// </summary>
        /// <param name="m_Name">Farmer的姓名参数</param>
        public Farmer(string m_Name) {
            name = m_Name;
        }

        /// <summary>
        /// 姓名字段
        /// </summary>
        string name = string.Empty;

        /// <summary>
        /// max字段
        /// </summary>
        const int max = 150;

        /// <summary>
        /// min字段
        /// </summary>
       const int min = 0;

        /// <summary>
        /// 年龄字段
        /// </summary>
        int age = 0;

        /// <summary>
        /// Max属性
        /// </summary>
        public int Max {
            get {
                return max;
            }
        }

        /// <summary>
        /// Min属性
        /// </summary>
        public int Min
        {
            get
            {
                return min;
            }
        }

        /// <summary>
        /// Name属性
        /// </summary>
        public string Name {
            set {
                name = value;
            }
        }

        /// <summary>
        /// 年龄属性
        /// </summary>
        public int Age {
            get {
                return age;
            }
            set {
                if ((value > min) && (value < max))
                {
                    age = value;
                }
                else
                {
                    try
                    {
                        Exception ex = new Exception("设置的值超出预设范围!");
                        throw (ex);
                    }
                    catch
                    {

                        Console.WriteLine("设置的值超出预设范围!");

                    }
                }
            }
        }
    }

}

相关文章
|
7月前
|
存储 安全 编译器
C# 11.0中的泛型属性:类型安全的新篇章
【1月更文挑战第23天】C# 11.0引入了泛型属性的概念,这一新特性为开发者提供了更高级别的类型安全性和灵活性。本文将详细探讨C# 11.0中泛型属性的工作原理、使用场景以及它们对现有编程模式的改进。通过深入了解泛型属性,开发者将能够编写更加健壮、可维护的代码,并充分利用C#语言的最新发展。
|
3月前
|
安全 C# 索引
C#一分钟浅谈:属性与索引器的定义
本文深入浅出地介绍了C#编程中的属性和索引器。属性让字段更安全,通过访问器方法在读写时执行额外操作,如验证数据有效性;索引器则赋予类数组般的访问方式,支持基于索引的数据访问模式。文章通过示例代码展示了如何定义及使用这两种特性,并提供了常见问题及其解决方案,帮助读者写出更健壮、易维护的代码。希望读者能从中学习到如何有效利用属性和索引器增强C#类的功能性。
99 12
|
7月前
|
存储 编译器 C#
|
4月前
|
存储 安全 编译器
C#中的属性
C#中的属性
45 7
|
6月前
|
开发框架 .NET 编译器
程序与技术分享:C#基础知识梳理系列三:C#类成员:常量、字段、属性
程序与技术分享:C#基础知识梳理系列三:C#类成员:常量、字段、属性
37 2
|
5月前
|
C#
C#中使用IntPtr.Size属性来判断当前系统是32位还是64位
这段代码首先检查 `IntPtr.Size`的值,如果是4,则输出"当前系统是32位";如果是8,则输出"当前系统是64位";如果都不是,就输出"未知系统位数"。
63 0
|
7月前
|
存储 JSON C#
C# 通过阿里云接口实现人脸属性识别
C# 通过阿里云接口实现人脸属性识别
|
7月前
|
Java C#
C#学习相关系列之多线程(七)---Task的相关属性用法
C#学习相关系列之多线程(七)---Task的相关属性用法
|
7月前
|
C#
C# Dev TreeList常用属性方法
C# Dev TreeList常用属性方法
|
7月前
|
开发框架 .NET C#
C# 10.0中的扩展属性与模式匹配:深入解析
【1月更文挑战第20天】C# 10.0引入了众多新特性,其中扩展属性与模式匹配的结合为开发者提供了更强大、更灵活的类型检查和代码分支能力。通过这一特性,开发者可以在不修改原始类的情况下,为其添加新的行为,并在模式匹配中利用这些扩展属性进行更精细的控制。本文将详细探讨C# 10.0中扩展属性与模式匹配的工作原理、使用场景以及最佳实践,帮助读者更好地理解和应用这一新功能。