2016-09-28 7 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は、最初の1つのインデックスとインデックスを取得しました。 – id94

+0

インデックス1(要素#2)から開始し、要素#1をスキップしない理由は何ですか?ループの最後に要素を処理する必要がありますか?最初に処理する必要がある場合は、インデックス0で開始してください。他の操作でインデックスを+1する必要がある場合は、 'var addedIndex = index + 1'変数などを使用してください。あなたが私に尋ねると奇妙な質問... – 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

関連する問題