You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

UML中`age: Integer{0<=age<=150}`的含义及C#代码转换方法

UML属性age: Integer{0<=age<=150}的含义及C#实现

含义解析

这是UML类图中为属性定义的约束规则:

  • age是属性名称
  • Integer表示属性的类型为整数
  • {0<=age<=150}是约束条件,要求age的取值必须介于0到150之间(包含0和150),用来限制属性的合法取值范围,避免无效数据。

C#代码实现

根据不同使用场景,有几种常见实现方式:

1. 私有字段+公共属性(带set校验)

适合属性需要在对象生命周期内修改的场景,通过set访问器校验取值合法性:

public class Person
{
    private int _age;

    public int Age
    {
        get => _age;
        set
        {
            if (value < 0 || value > 150)
                throw new ArgumentOutOfRangeException(nameof(value), "年龄必须在0到150之间");
            _age = value;
        }
    }
}

2. 初始化只读属性(C# 9+)

如果属性只需要在对象初始化时设置,后续不允许修改,可使用init访问器:

public class Person
{
    private int _age;

    public int Age
    {
        get => _age;
        init
        {
            if (value < 0 || value > 150)
                throw new ArgumentOutOfRangeException(nameof(value), "年龄必须在0到150之间");
            _age = value;
        }
    }
}

3. 数据注解验证(适合框架场景)

在ASP.NET等框架中,可使用数据注解实现验证,需引用System.ComponentModel.DataAnnotations命名空间:

using System.ComponentModel.DataAnnotations;

public class Person
{
    [Range(0, 150, ErrorMessage = "年龄必须在0到150之间")]
    public int Age { get; set; }
}

内容的提问来源于stack exchange,提问作者Alice

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 16:05:21