我像这样初始化了布尔变量
bool isActionAt= true;
但是当我尝试访问时,我得到了不同的错误。
参数类型“bool”未分配给参数类型“int”
当我给bool isActionAt= "1";
然后我得到了这个错误
无法将源类型字符串转换为目标类型 bool
我像这样初始化了布尔变量
bool isActionAt= true;
但是当我尝试访问时,我得到了不同的错误。
参数类型“bool”未分配给参数类型“int”
当我给bool isActionAt= "1";
然后我得到了这个错误
无法将源类型字符串转换为目标类型 bool
好吧,您还没有展示如何尝试将其用作int
,但这显然是错误的:
bool isActionAt = "1";
变量的bool
值只能为true
or false
。"1" 不是这些值之一,并且没有从 string 到 a的隐式转换bool
。
您可能习惯于非常动态类型的语言,它为您隐式转换不同类型的数据:C# 倾向于回避这一点。当有一个不会丢失信息的转换可用时,通常会有一个隐式转换,例如
short x = 10;
int y = x;
(一些浮点转换可能会丢失信息,但是......)
如果信息可能丢失,您通常必须使用显式转换:
int x = 100;
short y = (short) x; // short has a smaller range than int
string
但是,该语言bool
中没有任何可用的转换,因此您必须自己编写,指定哪些字符串值应被视为真,哪些应被视为假。
如果您可以尝试解释您想要实现的目标,而不是您用来尝试实现目标的代码,我们或许可以为您提供帮助。目前我们只知道您的代码无效。
如果您想要做的是将 int 变量的值分配给布尔值,那么您可以做的是有条件的,说明如果变量的值为“1”,则将布尔值设为“真”,否则为假。
您也可以尝试将整数转换为布尔值。我似乎记得这也将与您尝试做的类似。