2016-03-22 5 views
1

私はC#でリスト関数を使用し、それをランダムなパラメータにします。これは私のコードです。 15 20 10 3 6 どのように私のような上記のリストのreseveと再び出力することができます:あなたはforループをしたい場合は6 3 10 20 15C#で予約ランダムリスト(リスト関数)を出力する

List<int> dso = new List<int>(20); 
Random a = new Random(); 
for (int i = 0; i < dso.Capacity; i++) 
{ 
    int k = a.Next(100); 
    dso.Add(k); 

    Console.Write("{0} ", k); 
} 

for(int i=dso.Capacity;i<20;i--) 
{ 
    Console.Write("{0} ", dso[i]); 
} 
+1

for for(int i = dso.Capacity; i> 0; i - ) 'for last for loop –

+1

また、リストにはReverse()メソッドがあります。 – Ian

+0

リストではなく、スタックを使用することもできます。次に、値を押すだけで、逆の順序でポップされます。 https://msdn.microsoft.com/en-us/library/3278tedw(v=vs.110).aspx – Jestin

答えて

0

、それは

する必要があり、それを出力このようなリストがあれば
for (int i = dso.Count - 1; i >= 0; i--) { 
    Console.Write("{0} ", dso[i]); 
} 

コメント:

  1. Countは、実際のリスト項目の数です。 Capacityは、その条件がi >= 0

しかし、私はString.Joinを使用することをお勧めしてLINQの代わりにループのと聞かせている、逆の順序であなたのループ以来、なぜdso.Count - 1

  • だ基づいて、メモリ
  • List<T>がゼロに予約されています.Netはあなたのためにすべての仕事を行います:

    // List has its own Reverse() method so we have to put Reverse<int>() to use Linq one 
    Console.Write(String.Join(" ", dso.Reverse<int>())); 
    
  • 0

    あなたはあなたがforeach loopを使用することができます逆にいたら、単にフルにリストを書き出すように見えたよう

    dso.Reverse(); 
    
    foreach (var number in dso) 
    { 
        Console.Write(number + " "); 
    } 
    

    :リストの順序を逆にしようと、このようなReverse()を使用しています。しかし、リストのどこから始めるのか、リストのどこにジャンプするのかをもっとコントロールする必要がある場合は、forループが優れています。

    関連する問題