1

2 つの配列があります。リッチカーズ&カーズ。lstBoxGarage をランダムなアイテム (cars から 4 つ、richcars から 1 つ) でいっぱいにしたいのですが、これを行う方法がわかりません。現時点ではこれを持っていますが、これによりリストボックスが明らかにすべてのアイテムでいっぱいになります..

  for (int i = 0; i < richcars.GetLength(0); i++)
  {
    lstBoxGarage.Items.Add(richcars[i, 0]);
  }

  for (int i = 0; i < cars.GetLength(0); i++)
  {
    lstBoxGarage.Items.Add(cars[i, 0]);
  }

誰かがこのランダムなことで私を助けてくれますか?

ここに私の2つの配列があります

          string[,] richcars = new string[10, 2] {
    { "Porsche Cayenne Turbo", "108000" },
    { "Porsche Panamera GTS", "111000"},
    { "Porsche 911 Carrera 4S", "105000"},
    { "Porsche Cayman S", "65000"},
    { "Porsche 911 Turbo", "140000"},
    { "Ferrari California", "190000"},
    { "BMW M3", "60000"},
    { "BMW M6", "105000"},
    { "Maserati GranTurismo S", "125000"},
    { "Audi R8 V10", "150000" }
};

      string[,] cars = new string[6, 2] {
    { "VW Golf GTI", "25000" },
    { "Mini Cooper S", "25000" },
    { "Jeep Wrangler", "25000" },
    { "Audi A4", "35000" },
    { "Nissan 370Z ", "35000" },
    { "Ford Focus ST", "25000" }
};
4

2 に答える 2

1

Random クラスを使用して乱数を生成できます

int limit = richcars.GetLength(0)
 for (int i = 0; i < limit ; i++)
 {
    Random random = new Random();

    int randomNumber = random.Next(0, limit);
    if (lstBoxGarage.FindStringExact(richcars[randomNumber, 0]) == -1)
       lstBoxGarage.Items.Add(richcars[randomNumber , 0]);
    else
        i--;
 }
于 2012-10-14T13:19:44.630 に答える
0

これを試して :

Random random = new Random();
lstBoxGarage.Add(richcars[random.Next(0,richcars.GetLength(0)),0]);
for (int i = 0; i < 4; i++)
    {
        var car = cars[random.Next(0,cars.GetLength(0)),0];
        if (lstBoxGarage.Contains(car))
        {
            i--;
        }
        else
        {
            lstBoxGarage.Add(car);
        }
    }

ただし、これは車の名前のみを保存することに注意してください。価格とともに保存するには、名前と価格のプロパティを使用してCarクラスを作成する必要があります。

于 2012-10-14T13:43:12.993 に答える