将唯一值分配给数组的索引
Assigning unique values to the index of an array
我正在尝试让我的按钮从文本框中获取输入并将其添加到索引中。问题是,我已经尝试过所有方法,但无法为索引中的每个位置赋予唯一值。
private void addBtn_Click(object sender, EventArgs e)
{
for (int i = 0; i < nums.Length; i++)
{
if (nums[0] == 0)
{
nums[0] = int.Parse(inputText.Text);
i++;
}
if (nums[1] == 0)
{
nums[1] = int.Parse(inputText.Text);
i++;
}
}
MessageBox.Show(nums[i].ToString());
}
现在我的代码将值插入到两个索引位置,而不是将值分配给位置 0,然后允许用户将不同的值插入位置 1 等等。
不清楚您的意图,但看起来您可能正在尝试向数组中添加数字。此代码会将已解析的字符串分配给数组中非零的第一项。
private void addBtn_Click(object sender, EventArgs e)
{
int i = 0;
for (; i < nums.Length; i++)
{
if (nums[i] == 0)
{
nums[i] = int.Parse(inputText.Text);
break;
}
}
MessageBox.Show(nums[i].ToString());
}
但这会是更好的方法,因为用户可能会键入“0”:
private int _lastUsedIndex = -1;
private void addBtn_Click(object sender, EventArgs e)
{
var number = int.Parse(inputText.Text);
// Increment by one
++_lastUsedIndex;
nums[_lastUsedIndex] = number;
MessageBox.Show(number.ToString());
}
但是,数组仍然不是一个好主意:它们不会随着您添加内容而增长。首先它们比你需要的大,然后突然间它们太小而你崩溃了。我们现在有更好的选择。除非你的老师坚持你必须使用数组,否则请使用 List<int>
。在此版本中,我们还将使用不同的方式来解析数字,如果用户键入 "LOLWUT?!?!" 而不是数字:
则不会崩溃
private List<int> nums = new List<int>();
private void addBtn_Click(object sender, EventArgs e)
{
int number;
if (int.TryParse(inputText.Text, out number))
{
nums.Add(number);
MessageBox.Show(number.ToString());
}
else
{
MessageBox.Show(inputText.Text + " isn't a number, smart guy.");
}
}
我正在尝试让我的按钮从文本框中获取输入并将其添加到索引中。问题是,我已经尝试过所有方法,但无法为索引中的每个位置赋予唯一值。
private void addBtn_Click(object sender, EventArgs e)
{
for (int i = 0; i < nums.Length; i++)
{
if (nums[0] == 0)
{
nums[0] = int.Parse(inputText.Text);
i++;
}
if (nums[1] == 0)
{
nums[1] = int.Parse(inputText.Text);
i++;
}
}
MessageBox.Show(nums[i].ToString());
}
现在我的代码将值插入到两个索引位置,而不是将值分配给位置 0,然后允许用户将不同的值插入位置 1 等等。
不清楚您的意图,但看起来您可能正在尝试向数组中添加数字。此代码会将已解析的字符串分配给数组中非零的第一项。
private void addBtn_Click(object sender, EventArgs e)
{
int i = 0;
for (; i < nums.Length; i++)
{
if (nums[i] == 0)
{
nums[i] = int.Parse(inputText.Text);
break;
}
}
MessageBox.Show(nums[i].ToString());
}
但这会是更好的方法,因为用户可能会键入“0”:
private int _lastUsedIndex = -1;
private void addBtn_Click(object sender, EventArgs e)
{
var number = int.Parse(inputText.Text);
// Increment by one
++_lastUsedIndex;
nums[_lastUsedIndex] = number;
MessageBox.Show(number.ToString());
}
但是,数组仍然不是一个好主意:它们不会随着您添加内容而增长。首先它们比你需要的大,然后突然间它们太小而你崩溃了。我们现在有更好的选择。除非你的老师坚持你必须使用数组,否则请使用 List<int>
。在此版本中,我们还将使用不同的方式来解析数字,如果用户键入 "LOLWUT?!?!" 而不是数字:
private List<int> nums = new List<int>();
private void addBtn_Click(object sender, EventArgs e)
{
int number;
if (int.TryParse(inputText.Text, out number))
{
nums.Add(number);
MessageBox.Show(number.ToString());
}
else
{
MessageBox.Show(inputText.Text + " isn't a number, smart guy.");
}
}