C# bool类型有默认值吗? 如 bool a; if(a) { 。。。。。 }

像9楼的兄弟这样写就是默认false,
private bool a; ---- 默认是false
private void button1_Click(object sender, EventArgs e)
{
if (a == false) -----判断
{
MessageBox.Show("aa");
}
}
但是放到里面为什么就不行如下

private void button1_Click(object sender, EventArgs e)
{
bool a;
if (a == false) -----判断
{
MessageBox.Show("aa");
}
} 会提示引用了没赋值的a,为什么,请各位帮帮忙谢谢大侠们!

如果放到 里面的话 a 叫做局部变量 是没有默认值的
放在方法外面叫成员变量 成员变量是附有初值的 是false
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2016-07-01
我用的web试 可以啊
bool a;
//bool a = default(bool); //可以取默认值
protected void Page_Load(object sender, EventArgs e)
{
if (a == false) //判断
{
Response.Write("测试默认值a:"+a.ToString());
}

}

//结果:测试默认值a:False

方法内的局部变量 貌似没有默认值吧 如果一定要取默认值 就使用bool a = default(bool);本回答被提问者采纳
第2个回答  2012-09-27
bool 变量的默认值为 false。bool? 变量的默认值为 null。

msdn上有定义

第3个回答  2011-09-02
首先,告诉你没有这种用法,<是小于符号,而return 0不是一个有返回值的表达式,如果说cout<NULL我还相信,这句话也没有用处,判定cout和NULL的值大小返回一个bool量,又没用if判定(if判定的是flag嘛)...
其次,你用的应该是C++,看cin就知道了
那么,头文件两端有""或<>,头文件应该是iostream没有后缀名.h,后面应该using namespace std;,写int main要提行
第4个回答  2011-09-02
没有的,必须有初始化才可以的。

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网