gpt4 book ai didi

C# 方法的最大值?即尺寸(int x < 40,int y < 80)?

转载 作者:太空狗 更新时间:2023-10-30 01:00:28 24 4
gpt4 key购买 nike

想知道是否有一种方法可以在方法的输入上进行正确验证?我意识到我可以稍后轻松地执行此操作并抛出错误,但如果在编译时被捕获,那就太好了。

代替

CursorPosition(int x, int y)
{
if (x >= 80) { Console.WriteLine("off screen"); }
if (y >= 24) { Console.WriteLine("off screen"); }
}

我不能在这里完成它,让编译器返回错误吗?

CursorPosition(int x < 80, y < 24)
{
// do stuff
}

非常感谢!

最佳答案

您想要的功能称为依赖类型 - 之所以这样称呼是因为类型依赖于值。依赖类型系统可以表示诸如“小于 80 的正整数”或“一对整数中第一个较小的整数”或“一个整数和一个数组,其中整数小于数组长度”的概念,以及那种排序的事情。

C# 不直接支持依赖类型。如评论中所述,您可以获得的最接近的方法是使用代码契约(Contract)注释您的程序。代码契约使您能够静态检查您的程序以查看是否存在可能的类型违规,并在运行时将契约转变为检查并抛出。

有许多有趣的语言确实支持依赖类型,但其中大多数是纯函数式语言。

关于C# 方法的最大值?即尺寸(int x < 40,int y < 80)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46010148/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com