2016-09-28 40 views
-2

當我使用for (int i = 1; ..)跳過循環的第一項。 如何從索引1開始,不跳過任何項目?C#列表開始值1

private void buttonReadAndSort_Click(object sender, EventArgs e) 
      { 
       ReadFromFile rd = new ReadFromFile(); 
       var fileList = rd.readFromFile(); 
       for (int i = 0; i < fileList.Count; i++) 
       { 

        var item = (fileList[i]); 
        Console.WriteLine(item); 
        list.Add(item); 
        listBox1.Items.Add(item); 
       } 
       buttonReadAndSort.Enabled = false; 
      } 
+0

你爲什麼要用'1'開頭? –

+0

@JeroenvanLangen ik wil met 1 beginnen zodat ik index kan vermenigvuldigen met een andere getal。 – id94

+0

爲什麼你想從索引1開始(元素#2),但不跳過元素#1?該元素是否應在循環結束時處理?如果它應該在開始時處理,那麼只需從索引0開始。如果您需要索引爲其他任何操作的+1,只需使用'var addedIndex = index + 1'變量或類似的東西... Very奇怪的問題,如果你問我... – Nsevens

回答

1

我猜你要開始與索引1,但在指數0訪問項目:

for (int i = 1; i <= fileList.Count; i++) 
{ 
    var item = fileList[i-1]; 
    Console.WriteLine(item); 
    list.Add(item); 
    listBox1.Items.Add(item); 
} 

但你也可以循環正常,並添加+1在你需要它基於1:

for (int i = 0; i < fileList.Count; i++) 
{ 
    var item = fileList[i]; 
    Console.WriteLine("item:{0} #{1}", item, i + 1); 
    list.Add(item); 
    listBox1.Items.Add(item); 
} 
+0

是的,這就是我想要的。但它不起作用 – id94

+0

@ id94:你需要解釋什麼是行不通的。 –

+0

@ id94你可以發佈一個完整的代碼片段,並解釋你想達到的結果 - 以及你現在得到什麼錯誤? – Nsevens