
switch的判断条件只能是等于,所以对于数据类型的精度要求比较高。
字符型、布尔型、枚举型都可以转换成整型进行判断,是因为整形在相等不相等上有很大的确定性,而float和double表示的小数,毕竟精度都是有限的,超过限度以后的等于和不等于计算机就不好判定,故不能用。
if else 结构可以用< > 或者一些其他的复杂条件进行判断,所以支持其他类型。
所以,switch只能用于简单的跳转判断,而且一定能被if else 结构代替
在你的枚举类型中,3D相当于是个常量名称,而根据VB语法,变量、常量、函数、类等等名称不能为数字开头。修改:
Enum enum_Appearance
effect_Flat = 0
effect_3D = 1
End Enum
enum 是枚举类型, sex 性别字段 加约束条件,默认是 ‘男’,插入数据时,sex字段只可以是'男'或'女',另外,MySQL 不支持check的,虽然语法上不会报错是,分析建表语句的时候会被忽略
在SQL中,枚举值是指一组有限的值,它们可以用来查询数据库中的特定数据。例如,如果您想要查询某个国家的所有城市,您可以使用枚举值来查询该国家的所有城市。您可以使用SELECT语句来查询枚举值,该语句的语法如下:SELECT FROM table_name WHERE column_name IN (value1, value2, value3, );其中,table_name是您要查询的表名,column_name是您要查询的列名,value1、value2、value3等是您要查询的枚举值。例如,如果您想要查询某个国家的所有城市,您可以使用以下SELECT语句:SELECT FROM cities WHERE country IN ('China', 'India', 'USA');这样,您就可以查询到指定国家的所有城市。
我找到了这样一段处理方法,希望对你有所帮助:
枚举类型如下:
Public Enum ConcertCode
BEIJING
SHANGHAI
GUANGZHOU
End Enum
如果要将比如“beijing”字符串转换为ConcertCodeBEIJING的话,可以通过如下方法:
Dim c As ConcertCode = CType(EnumParse(TypeGetType(ConcertCode),字符串的变量,True), ConcertCode)
#include <stdioh>
typedef enum
{
JAN = 1,
FEB,
MAR,
APR,
MAY,
JUN,
JUL,
AUG,
SEP,
OCT,
NOV,
DEC
} MONTH;
int main()
{
MONTH input = 0;
printf("请输入1~12之间的一个数据:");
scanf("%d", &input);
switch(input)
{
case JAN:
printf("一月\n");
break;
case FEB:
printf("二月\n");
break;
case MAR:
printf("三月\n");
break;
case APR:
printf("四月\n");
break;
case MAY:
printf("五月\n");
break;
case JUN:
printf("六月\n");
break;
case JUL:
printf("七月\n");
break;
case AUG:
printf("八月\n");
break;
case SEP:
printf("九月\n");
break;
case OCT:
printf("十月\n");
break;
case NOV:
printf("十一月\n");
break;
case DEC:
printf("十二月\n");
break;
default:
printf("数据不正确!\n");
break;
}
return 0;
}
以上就是关于如何将整型数转换为枚举类型以方便在switch中的使用全部的内容,包括:如何将整型数转换为枚举类型以方便在switch中的使用、vb6.0 如何枚举以数字开头的字符串、sql enum类型等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)