2014-01-15 112 views
-1

ERROR發生在for循環編譯錯誤:無法轉換隱式int類型爲bool

List<string> computers = Global.getAllComputers(Environment.UserDomainName); 
      computers.Sort(); 


      if (dataGridView1.Rows.Count == 1) 
      { 
       foreach (var s in computers) 
        dataGridView1.Rows.Add(s); 
      } 
      else 
      { 
       foreach (string s in computers) 
       { 
        for (int i = 0; (dataGridView1.Rows.Count - 1); i++) 
        { 
         if (s.ToUpper() == dataGridView1.Rows[i].Cells[0].Value.ToString().ToUpper()) 
          continue; 
         else 
          dataGridView1.Rows.Add(s); 
        } 
       } 
      } 
+3

instaed而問題是什麼? – Jon

+0

對不起,我確定了這個問題。我沒有把我<在for循環。 – qasali

+0

標題是問題。大聲笑 – qasali

回答

2

這行不包含所要求的語法的布爾表達式,它更改爲

for (int i = 0; i < dataGridView1.Rows.Count; i++) 

通過在for循環的求值部分中找不到布爾條件,編譯器會抱怨您嘗試使用整數(Rows.Count)而不是期望的布爾值。

The For loop C# reference

  1. Estabilish可變i的初始值。
  2. 評估條件(i < dataGridView1.Rows.Count),將i的值 與數據網格中的行數進行比較。如果i 小於到Rows.Count,該條件評估爲真,並且執行的for循環 體,由1
  3. 返回到步驟否則退出循環
  4. 增量i的值2再次評估病情。
2

使用

for (int i = 0; dataGridView1.Rows.Count > i; i++) 

for (int i = 0; (dataGridView1.Rows.Count - 1); i++) 
相關問題