gpt4 book ai didi

c# - 显示多个数组

转载 作者:太空狗 更新时间:2023-10-29 21:08:08 25 4
gpt4 key购买 nike

我有一个项目,我必须输入 namesweightsheights 并将它们放入数组并显示它们像这样进入 TextBox

name = "..."
weight = "..."
height= "..."

我已经能够填充我的数组,但我不明白如何像上面的例子那样输出它。目前我的输出是所有的名字,然后是所有的重量,然后是所有的高度。有人可以解释我如何让它像示例一样显示吗?我到目前为止的代码是

private void ShowButton_Click(object sender, EventArgs e)
{
txtShow.Text += string.Join(System.Environment.NewLine, nameArray);
txtShow.Text += string.Join(System.Environment.NewLine, weightArray);
txtShow.Text += string.Join(System.Environment.NewLine, heightArray);
}
private void AddButton_Click(object sender, EventArgs e)
{
if (this.index < 10)
{
nameArray[this.index] = nameBox.Text;
weightArray[this.index] = double.Parse(weightBox.Text);
heightArray[this.index] = double.Parse(heightBox.Text);
this.index++;
}
}

数组最多可以存储 10 个值,我需要使用数组而不是列表。

最佳答案

你应该::::: 有很多方法可以优化你想做的事情,但这是家庭作业,你不想看起来自己是世界上最伟大的程序员-- 你想像教授希望你做的那样做这个项目。因此创建类和加入列表不是您的特定解决方案集的一部分。尝试:

PS - 在第一次回答时,我尽量让我的建议代码尽可能接近你的 - 以在不更改代码的情况下回答你的问题。另一位评论者建议不断更新文本框。文本会导致闪烁问题。如果您遇到这种情况,我建议您在编辑文本时使用临时字符串。

我知道这是家庭作业 - 所以我不建议进行任何重大优化,让您看起来像是在 SO 完成了家庭作业。

编辑 您已经要求一种检测空的方法。根据我对您的代码的理解并保持代码简单,请尝试:

 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;

}

注意 文本框具有验证方法,这些方法将在我修改后的编辑中完成我的 IF/THEN 语句的工作以查找空白。如果您认为教授正在寻找表单(控件)验证而不是代码隐藏 IF/THEN,请告诉我,我会提供帮助。

好的 - 您提到了排序的必要性。为此,我们需要使用某种方式对输入数据进行分组。我们可以使用字典或类。让我们一起上课吧:

将它们放在一起:看看这个潜在的解决方案 - 如果您认为它对于您的家庭作业应该看起来的样子来说太复杂了,我们可以尝试简化。让我知道:

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;

}

关于c# - 显示多个数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39511323/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com