【发布时间】:2013-09-27 12:42:35
【问题描述】:
我对 C# 编程比较陌生。我试图实现的代码应该为我的变量 SEAT 提供一个数组值。
private void btnFindSeat_Click(object sender, EventArgs e)
{
int AntalSaeder = int.Parse(txtbxSeats.Text);
int AntalPassagerer = int.Parse(txtbxPassengers.Text);
int[] SEATARRAY;
SEATARRAY = new int[AntalSaeder];
int RandomTal = Randomizer.Next(1, AntalSaeder);
int s = 0;
int SEAT;
listBox1.Items.Clear();
for (int i = 1; i < AntalSaeder; i++)
{
for (int j = 1; j < AntalPassagerer; j++)
{
if (AntalPassagerer > AntalSaeder)
{
MessageBox.Show("Flyet er overbooket");
}
else if (AntalPassagerer <= AntalSaeder)
{
SEAT = i + j;
}
else
{
while (AntalPassagerer <= AntalSaeder)
{
if (!SEATARRAY.Contains(RandomTal))
{
SEATARRAY[i] = RandomTal;
i++;
listBox2.Items.Add(SEATARRAY[RandomTal]);
}
SEATARRAY[s] = SEAT;
s++;
listBox1.Items.Add(SEATARRAY[RandomTal]);
}
}
}
}
}
由于某种原因,变量 SEAT 位于:
SEATARRAY[s] = SEAT;
s++;
listBox1.Items.Add(SEATARRAY[RandomTal]);
显示错误:使用未分配的局部变量。从我的观点来看,它应该在循环中分配为SEAT = i + j;。
如果有人知道发生了什么,我可以寻求帮助。
【问题讨论】:
-
顺便问一下,你有没有注意到你永远不会达到
else-部分条件? -
你为什么从
i = 1开始?应该是i = 0,不是吗?与j相同
标签: c# arrays unassigned-variable