Вы должны :::: Множество способов оптимизации того, что вы пытаетесь сделать, но это домашнее задание, и вы не хотите выглядеть так, как будто вы величайший программист в мире - вы хотите чтобы сделать проект, как ожидает вас профессор. Поэтому создание классов и списков соединений не является частью вашего конкретного набора решений. Попытайтесь:
PS - на первый ответ я попытался сохранить код своего предложения как можно ближе к вашему, чтобы ответить на ваш вопрос, не изменяя свой код. Другой комментатор предположил, что постоянное обновление textbox.Text приведет к мигающим проблемам. Если это произойдет с вами, я бы предложил использовать временную строку, поскольку я редактировал свой текст.
Я знаю, что это домашняя работа - поэтому я не предлагаю никаких крупных оптимизаций, которые заставят вас выглядеть так, будто вы делали домашнее задание в SO.
EDIT Вы попросили способ обнаружить пустой. Основываясь на моем понимании кода и сохранить его простым, попробуйте:
private void AddButton_Click(object sender, EventArgs e)
{
if (this.index < 10)
{
if(nameBox.Text.Length==0||weightBox.Text.Length==0||heightBox.Text.Length==0){
MessageBox.Show("You must enter a name, weight, and height!");
}else{
nameArray[this.index] = nameBox.Text;
weightArray[this.index] = double.Parse(weightBox.Text);
heightArray[this.index] = double.Parse(heightBox.Text);
this.index++;
nameBox.Text = "";
weightBox.Text = "";
heightBox.Text = "";
}
}
}
private void ShowButton_Click(object sender, EventArgs e)
{ string myString = "";
for(int i=0;i<nameArray.Length;i++)
{
myString+= "Name: "+nameArray[i]+", ";
myString += "Weight: "+weightArray[i]+", ";
myString += "Height: "+heightArray[i]+"\n");
}
txtShow.Text = myString;
}
Примечание Textboxes есть методы проверки, которые будут выполнять работу моего IF/THEN заявление в моем пересмотренном редактировать найти стеклотару. Если вы считаете, что профессор ищет форму (контроль), а не кодовое слово IF/THEN, дайте мне знать, и я помогу с этим.
Okay - Вы упомянули о необходимости сортировки. Для этого нам нужно использовать способ группировки входных данных. Мы могли бы использовать словарь или класс. Давайте перейдем к классу:
Взять все это вместе: Посмотрите на это потенциальное решение - если вы считаете, что это слишком сложно для вашей домашней работы, мы можем попытаться упростить. Дайте мне знать:
public class Person{
public string Name {get;set;}
public double Height {get;set;}
public double Weight {get; set;}
public string Print(){
return "Name: "+Name+", Height: "+Height.ToString()+", Weight: "+Weight.ToString()+"\r\n";
}
}
Person[] People = new Person[10];
int thisIndex = 0;
private void AddButton_Click(object sender, EventArgs e)
{
if (this.index < 10)
{
if(nameBox.Text.Length==0||weightBox.Text.Length==0||heightBox.Text.Length==0)
{
MessageBox.Show("You must enter a name, weight, and height!");
}else{
Person p = new Person();
p.Name = nameBox.Text;
p.Weight = double.Parse(weightBox.Text);
p.Height = double.Parse(heightBox.Text);
People[thisIndex] = p;
thisIndex++;
nameBox.Text = "";
weightBox.Text = "";
heightBox.Text = "";
}
}
}
private void ShowButton_Click(object sender, EventArgs e)
{
People = People.OrderBy(p=>p.Name).ToArray();
string myString = "";
for(int i=0;i<10;i++)
{
if(People[I]!=null){
myString+= People[I].Print();
}
}
txtShow.Text = myString;
}
Ну, вы можете изменить '' nameArray' к String.Concat (NameArray) 'и т.д .. . – Fabjan
Благодарим вас за ответ! –
Вы говорите о многомерных массивах, и хотя все приведенные ниже ответы правильны, это, вероятно, самый необходимый вам ответ. https://www.dotnetperls.com/multidimensional-array или здесь https://msdn.microsoft.com/en-us/library/2yd9wwz4.aspx –