C# 如何从用户输入创建数组 公共类测试 { 静态void Main(字符串[]参数) { 字符串名称=”; 双值=0; 数组test1=新数组(名称、值); 对于(int i=0;i

C# 如何从用户输入创建数组 公共类测试 { 静态void Main(字符串[]参数) { 字符串名称=”; 双值=0; 数组test1=新数组(名称、值); 对于(int i=0;i,c#,arrays,for-loop,scope,C#,Arrays,For Loop,Scope,在另一个类中,我有我的数组。按照设置方式,它一次将一个用户添加到数组中,并将该用户对应的编号添加到另一个数组中 我遇到的问题是主代码。我提示用户输入,并希望它调用我的另一个类方法,一次填充一个用户的数组。但是,我被卡住了 我知道上面的代码为什么不起作用,因为对象调用只调用一次,所以初始值是保存的值。但是当我放入新数组(名称、值);在for循环中,它告诉我test1.Display();是一个未赋值变量 我有办法解决这个问题吗。我知道可能还有另一种更简单的方法来使用列表之类的东西,但我还没走那么远

在另一个类中,我有我的数组。按照设置方式,它一次将一个用户添加到数组中,并将该用户对应的编号添加到另一个数组中

我遇到的问题是主代码。我提示用户输入,并希望它调用我的另一个类方法,一次填充一个用户的数组。但是,我被卡住了

我知道上面的代码为什么不起作用,因为对象调用只调用一次,所以初始值是保存的值。但是当我放入新数组(名称、值);在for循环中,它告诉我test1.Display();是一个未赋值变量


我有办法解决这个问题吗。我知道可能还有另一种更简单的方法来使用列表之类的东西,但我还没走那么远。如果你能解释或暗示什么,我将不胜感激

在这种情况下,最好使用
List

您必须创建一个类,然后您可以创建一个
列表
来保存项目:

public class TEST
{
    static void Main(string[] args)
    {

        string Name = "";
        double Value = 0;
        Array test1 = new Array(Name, Value);

        for (int i = 0; i < 2; i++)
        {
            Console.WriteLine("Enter A Customer:");
            Name = Console.ReadLine();
            Console.WriteLine("Enter {0} Insurance Value (numbers only):", Name);
            Value = Convert.ToDouble(Console.ReadLine());
        }

        test1.Display();

        Console.ReadLine();
    }
}
以及:

static void Main(字符串[]args)
{
列出客户=新列表;
对于(int i=0;i<2;i++)
{
Console.WriteLine(“输入客户:”);
客户=新客户();//创建新对象
customer.Name=Console.ReadLine();//设置Name属性
WriteLine(“输入{0}保险价值(仅限数字):”,名称);
customer.Value=Convert.ToDouble(Console.ReadLine());//设置值属性
customers.Add(customer);//将客户添加到列表中
}
Console.ReadLine();
}

显示方法是什么?这在数组中通常不存在。您的代码通常意义不大。将test1[i]设置为名称,并在每次循环时将名称声明为空数组,依此类推。。。您没有为test1提供任何帮助,这就是为什么。@BradleyDotNET您能举一个例子说明我将如何/为什么使用数组吗?这更多的是练习操作数组,而不是生成有用的编码。而且,我很想知道,在这个场景中,我实际上希望使用数组与列表或其他东西。@这不是在内存中创建多个存储位置吗?我试图避免为每个循环创建一个新数组。
public class Customer
{
  public string Name {get;set;}
  public double Value {get;set;}
}
 static void Main(string[] args)
    {

        List<Customer> customers = new List<Customer>;

        for (int i = 0; i < 2; i++)
        {
            Console.WriteLine("Enter A Customer:");
            Customer customer = new Customer(); // create new object
            customer.Name = Console.ReadLine();  // set name Property
            Console.WriteLine("Enter {0} Insurance Value (numbers only):", Name);
            customer.Value = Convert.ToDouble(Console.ReadLine());// set Value Property
            customers.Add(customer); // add customer to List
        }


        Console.ReadLine();
    }