Delphi';s子范围类型

本文关键字:范围 类型 Delphi | 更新日期: 2023-09-27 18:28:01

在Delphi(或任何Pascal)中,您可以声明子范围类型,因此如果您尝试从允许的范围外赋值,则会出现编译器错误。

var
    i: 1..8;
begin
    i := 8; // i := 9 would not work

这可以在C#中完成吗?我可以想象创建自定义结构,类似于SubrangeType<byte>,但我正在寻找内置的东西。

编辑:xanatos和DavidHeffernan的评论让我想到了更具体的问题。Delphi中的子范围检查在运行时和编译时都可用。在C#中使用自定义结构可以在运行时实现这一点,但在C#中是否可以在编译时实现这种检查?

Delphi';s子范围类型

C#没有与Pascal子范围等效的内置语言功能。

相关文章: