我正在用 c# 制作一個 windows 表單應用程式,我有一個 for 回圈,它列印 20 個元素,亂數在 0 到 500 之間。有了這個數字,我需要計算下一個數字。我想使用變數“numbers[i]”來列印它,但這不起作用,程式會選擇新的亂數。這是一些代碼:
private void Form1_Load(object sender, EventArgs e)
{
CultureInfo ci = new CultureInfo("en-US");
Thread.CurrentThread.CurrentUICulture = ci;
Thread.CurrentThread.CurrentCulture = ci;
int[] numbers = new int[numberOfItems];
Random random = new Random();
double total = 0;
var text = "";
for (int i = 0; i < numbers.Length; i )
{
numbers[i] = random.Next(501);
beforeLoop.Text = $"Element {i} = {numbers[i]} \n";
total = numbers[i];
}
}
private void compare_Click(object sender, EventArgs e)
{
int count = 0;
count ;
if (count ==1 ) // knop is maar 1 keer drukbaar
{
compare.Enabled = false;
}
int[] numbers = new int[numberOfItems];
Random random = new Random();
double total = 0;
for (int i = 0; i < numbers.Length; i )
{
numbers[i] = random.Next(501);
int numberBigger = numbers[i] 10;
int numberSmaller = numbers[i] - 5;
total = numbers[i];
int number = int.Parse(numberBox.Text);
if (number > numbers[i])
{
printLabel.Text = $"Element {i} = {numberBigger}\n";
}
else
{
printLabel.Text = $"Element {i} = {numberSmaller}\n";
}
}

uj5u.com熱心網友回復:
您每次都創建一個新陣列:int[] numbers = new int[numberOfItems];但numbers應該在應用程式的整個生命周期中保持不變。
public partial class Form1 : Form
{
// Class fields exist through out the life time of the class object
int[] numbers;
int numberOfItems = 20;
private void Form1_Load(object sender, EventArgs e)
{
CultureInfo ci = new CultureInfo("en-US");
Thread.CurrentThread.CurrentUICulture = ci;
Thread.CurrentThread.CurrentCulture = ci;
// Create the array and fill with random nums ONCE
numbers = new int[numberOfItems];
Random random = new Random();
for (int i = 0; i < numbers.Length; i )
{
numbers[i] = random.Next(501);
beforeLoop.Text = $"Element {i} = {numbers[i]}{Environment.NewLine}";
}
}
private void compare_Click(object sender, EventArgs e)
{
compare.Enabled = false;
int number = int.Parse(numberBox.Text);
for (int i = 0; i < numbers.Length; i )
{
if (number <= numbers[i])
{
numbers[i] = 10;
}
else
{
numbers[i] -= 5;
}
printLabel.Text = $"Element {i} = {numbers[i]}{Environment.NewLine}";
}
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/516766.html
標籤:C#表格
