gpt4 book ai didi

c# - 为什么在 switch case 语句中只允许使用有限的类型

转载 作者:可可西里 更新时间:2023-11-01 18:06:45 29 4
gpt4 key购买 nike

Javac++cc# 等语言允许整数类型或在 switch-case 语句中计算为整数类型的表达式。[string 文字和一些其他类型在某些语言中是允许的]

为什么我们只需要使用 integral 类型或一些有限数量的类型而不是像 double,float 这样的类型?是因为某种优化还是只是为了简单

最佳答案

首先,Java 7 允许切换字符串值……C# 也是如此。 (而在 Java 中,您不能打开一个long ...感谢彼得提醒我。)

但是,不允许打开 floatdouble 的原因很可能是舍入误差和 float 的不精确表示的潜在影响会使代码使用非常容易出错的浮点开关...或者需要特殊语法来表示 case 值中的错误范围。

现在,如果有很多用于切换浮点值的好用例,那么人们会期望一些语言能够支持这一点。但据我所知,没有主流编程语言曾经沿着这条路走下去。

关于c# - 为什么在 switch case 语句中只允许使用有限的类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14316605/

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