C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[2]: Randomクラスの異常な振る舞い


(過去ログ 61 を表示中)

[トピック内 3 記事 (1 - 3 表示)]  << 0 >>

■35138 / inTopicNo.1)  Randomクラスの異常な振る舞い
  
□投稿者/ haluhalu (1回)-(2009/04/20(Mon) 23:56:21)

分類:[C#] 

下記のプログラムでaaaaメソッドの
rnd.nextから「0〜3」の値が返ってくることを期待していますが
なぜか「2,3」の値しか返ってきません。

ちなみに、button1_Clickハンドラのfor文で"Cnt"の代わりに"1"を挿入してあげると
期待通りの値が返ってきます。

何度もソースを見直しましたが判りません。
この不思議な現象を説明できる方、不具合の原因がわかる方がおりましたら教えてください。
宜しくお願いします。


using System;
using System.Collections.Generic;
using System.ComponentMode1;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace WindowsApplication1
{
 public partial class Form1 : Form
 {
  public Form1()
  {
   InitializeComponent();
  }

  private void button1_Click(object sender, EventArgs e)
  {
   Random rnd = new Random();
   int Cnt = rnd.Next(2);
   Console.Write("{0} ", Cnt);
   Console.WriteLine(Environment.TickCount);

   for(int i = 0; i < Cnt; i++)
   // for(int i = 0; i < 1; i++)
   {
    aaaa();
   }
   Console.WriteLine("");
  }

  private void aaaa()
  {
   Random rnd = new Random();
   string xxx = "1234";
   Console.Write("{0} ", rnd.Next(xxx.Length));
   Console.WriteLine(Environment.TickCount);
  }
 }
}

引用返信 編集キー/
■35139 / inTopicNo.2)  Re[1]: Randomクラスの異常な振る舞い
□投稿者/ aetos (132回)-(2009/04/21(Tue) 00:12:37)
aetos さんの Web サイト
No35138 (haluhalu さん) に返信
> 下記のプログラムでaaaaメソッドの
> rnd.nextから「0〜3」の値が返ってくることを期待していますが
> なぜか「2,3」の値しか返ってきません。

Random クラスは毎回作るもんじゃなく、1回作って使いまわすもんです。
引用返信 編集キー/
■35141 / inTopicNo.3)  Re[2]: Randomクラスの異常な振る舞い
□投稿者/ rink (1回)-(2009/04/21(Tue) 08:47:45)
無駄なやり取りが内容リンクを張ります。
http://ap.atmarkit.co.jp/bbs/core/fdotnet/10254
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -