簡體   English   中英

如何顯示我的隨機 c# 表單的所有數字

[英]How to display all the numbers of my random c# form

我想生成 500 個介於 1 到 200 之間的隨機數並顯示所有這些數字,但我在屏幕上只有一個。

        private void cmdGenererNombres_Click(object sender, EventArgs e)
    {
        Random rand = new Random(500);
        int number = rand.Next(1, 201);

        FileStream fs = new FileStream("Binaire.bin", FileMode.Create, FileAccess.Write, FileShare.None);
        BinaryWriter bw = new BinaryWriter(fs);
        bw.Write(number);

        bw.Close();
        fs.Close();
    }

    private void cmdAfficherNombres_Click(object sender, EventArgs e)
    {
        FileStream fsSource = new FileStream("Binaire.bin", FileMode.Open, FileAccess.Read, FileShare.None);
        BinaryReader br = new BinaryReader(fsSource);

        MessageBox.Show(br.ReadByte().ToString());

        br.Close();
        fsSource.Close();
    }

您可以生成 500 個隨機數並寫入如下文件:

Random rand = new Random();
int[] rndArr = new int[500];

for (int i = 0; i < rndArr.Length; i++)
{
    int num = rand.Next(1, 200);
    rndArr[i] = num;
}

File.WriteAllLines("Binaire.bin", rndArr.Select(i => i.ToString()).ToArray());

並將其顯示到文件中的消息框中,您可以執行以下操作:

MessageBox.Show(File.ReadAllText("Binaire.bin"));

您可以使用Chunkstring.join的組合將所有數字組合成一個大字符串。

var rand = new Random(42);
var rows = Enumerable.Range(0, 500)
    .Select(i => rand.Next(0, 201))
    .Chunk(50) // number of values per row
    .Select(r => string.Join(", ", r.ToString("000")); // Combine the values in each row. Use fixed width formatting

var block = string.Join(Environment.NewLine, rows); // combine rows into a block

MessageBox.Show(block);

將數字格式化為一個塊應該有助於將文本保持在屏幕的寬度和高度內。

另一種方法是使用可滾動的文本框或類似的東西創建自己的 UI 以顯示所有數字。

第一種方法試試這個:

int randomIntCount = 200;
Random rand = new Random();
FileStream fs = new FileStream("Binaire.bin", FileMode.Create, FileAccess.Write, FileShare.None);
BinaryWriter bw = new BinaryWriter(fs);

for (int i = 0; i < randomIntCount; i++)
{
   myRandomList[i]= i rand.Next(1, 201);
   bw.Write(number);
}

對於 cmdAfficherNombres_Click 方法,將其更改為:

FileStream fsSource = new FileStream("Binaire.bin", FileMode.Open, FileAccess.Read, FileShare.None);
BinaryReader br = new BinaryReader(fsSource);
int randomIntCount = 200;

string result;
for (int i = 0; i < randomIntCount; i++)
{
    result += " " + br.ReadInt32(); // separator here is a simple space
}
    
MessageBox.Show(result);
    
br.Close();
fsSource.Close();

好勇氣:)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM