2010-06-18 39 views
-1

如果我嘗試將int值添加到字符串長度的數組中爲什麼整數據爲「0」?以及如何解決它?如何解決「0」值試圖獲得長度值?

for (int j = 0; j < dTable.Columns.Count; j++) 
       for (int i = 0; i < dTable.Rows.Count; i++) 
       { 

        mycounter[i] = dTable.Rows[i][j].ToString().Length; 
       }

它是不相關的,因爲mycounter:

string test = ""; 
      foreach(DataColumn dc in dTable.Columns) 
       for (int i = 0; i < dTable.Rows.Count; i++) 
       { 
        // MessageBox.Show(dTable.Rows[i][dc].ToString()); 
        test = dTable.Rows[i][dc].ToString().Length.ToString(); 
       }
+1

對於擁有更多C#經驗的人來說,這可能是顯而易見的......但我的第一個想法是:「dTable」和「mycounter」的數據類型是什麼?您提供的問題越多,更好的人可以幫助您。 – KevenK 2010-06-18 14:58:57

+0

mycounter必須是IEnumerable 的一些後代,如列表。 – 2010-06-18 15:04:03

+0

我不確定你的更新甚至意味着什麼。您將測試設置爲最後一行中的最後一列,並且....? – Marc 2010-06-18 15:15:12

回答

2

在MyCounter []你會從表的最後一欄只值。 可能是最後一列包含空字符串?

0

除非您在for循環之間重新聲明mycounter,否則將每個列0的mycounter [i]覆蓋到Columns.Count-1直到最後一列。

你想總結長度嗎?或者你是否想要mycounter的二維數組?

+0

我更新了我的問題:) – Penguen 2010-06-18 15:11:11

1

除了什麼@Orsol說,那你通過兩個維度循環的事實似乎表明,你要爲每一行的總長度,因此,

mycounter[i] = dTable.Rows[i][j].ToString().Length; 

應改爲

也有可能ToString()方法返回空字符串。也許你正在尋找一個Text屬性?