Re: [問題] ?: 運算子的問題
※ 引述《apologize (人生在世很愜意)》之銘言:
: checkBox1.Checked == true ? timer1.Enabled = true : timer1.Enabled = false;
: 我是這樣寫,可是他說只能用陳述式表示,
: 可是不是要判別式才能用?請問要怎樣修改?
MSDN ?: 運算子 (C# 參考)
http://msdn.microsoft.com/zh-tw/library/ty67wk28.aspx
語法
condition ? first_expression : second_expression;
因為expression 實際上是回傳給這個語法的值
e.g
int a = (true ? 0 : 1);//合法
int b = (false ? "0" : "1");//非法,因為b是int,但expression是string
所以你的程式應該寫成
timer1.Enabled = (checkBox1.Checked ? true : false);
或者
if(checkBox1.Checked)
{
timer1.Enabled = true;
}
else
{
timer1.Enabled = false;
}
若這樣寫也可以正常賦值,但無意義
bool tmp = checkBox1.Checked ? timer1.Enabled = true : timer1.Enabled = false;
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 211.72.185.162
※ 文章網址: http://www.ptt.cc/bbs/C_Sharp/M.1420451609.A.809.html
※ 編輯: VVll (211.72.185.162), 01/05/2015 18:04:48
→
01/05 18:08, , 1F
01/05 18:08, 1F
→
01/05 20:21, , 2F
01/05 20:21, 2F
推
01/05 20:56, , 3F
01/05 20:56, 3F
→
01/05 20:56, , 4F
01/05 20:56, 4F
→
01/05 20:57, , 5F
01/05 20:57, 5F
→
01/05 20:57, , 6F
01/05 20:57, 6F
→
01/05 20:57, , 7F
01/05 20:57, 7F
→
01/05 20:58, , 8F
01/05 20:58, 8F
推
01/05 21:00, , 9F
01/05 21:00, 9F
推
01/05 22:09, , 10F
01/05 22:09, 10F
→
01/06 10:40, , 11F
01/06 10:40, 11F
→
01/06 10:44, , 12F
01/06 10:44, 12F
→
01/06 10:44, , 13F
01/06 10:44, 13F
→
01/06 10:45, , 14F
01/06 10:45, 14F
討論串 (同標題文章)
C_Sharp 近期熱門文章
PTT數位生活區 即時熱門文章