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#中是否可以在编译时实现这种检查?
C#没有与Pascal子范围等效的内置语言功能。