這是非常基本的,但我想知道是否有更好的方式來編程以下概念。識別循環的第一次迭代,c#
for (int j = 0; j < node.ChildNodes[i].Attributes.Count; j++)
{
if (j != 0) row.Cells[1].Value += ", ";
row.Cells[1].Value += node.ChildNodes[i].Attributes[j].Name;
}
基本上即時輸出節點在C#到一個表,我希望每個屬性名稱用逗號分隔。問題是,顯然對環路我希望不要有逗號它之前,第一個實例,即我不能只是
row.Cells[1].Value += ", " + node.ChildNodes[i].Attributes[j].Name;
否則在電池的輸出會看起來像:
, name, day
代替
name, day
所以,雖然這個工程,它似乎的計算機浪費時間在每次循環,這的確是循環的第一次迭代的時間來檢查,ES因爲這個循環嵌套在遞歸方法中。有沒有更好的方法來做到這一點? (考慮到for循環條件中的node.ChildNodes [i] .Attributes.Count可能爲0,即節點(它是一個xmlNode)可能沒有子節點,所以循環加倍爲一個爲孩子們的存在檢查。)
我希望我解釋得很好!
你有沒有考慮過'String.Join'?它自動執行此操作。 – asawyer
從第二次迭代開始,在添加下一個字符串之前總是添加',' – ppetrov