【问题标题】:How to Create An Array From User Input如何从用户输入创建数组
【发布时间】:2014-11-06 23:10:30
【问题描述】:
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();
    }
}

所以在另一个班级,我有我的数组。它的设置方式是一次将一个用户添加到数组中,并将该用户对应的数字添加到另一个数组中。

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

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

有没有办法解决这个问题。我知道使用列表或其他东西可能还有另一种更简单的方法,但我还没有走到那一步。如果你能解释或暗示或任何东西,我将不胜感激。 :)

【问题讨论】:

  • Display 方法是什么?这通常不在阵列上。一般来说,您的代码实际上并没有多大意义。
  • 将 test1[i] 设置为 Name 并在每次循环时将 Name 声明为空数组,依此类推...您没有向 test1 分配任何内容,这就是原因。
  • @BradleyDotNET 您能否举例说明我如何/为什么要使用数组?这更多是关于练习操作数组而不是产生有用的编码。而且,我很想知道我真正想要使用数组与列表或其他东西的场景。
  • @NoviceDeveloper 不会在内存中创建多个存储位置吗?我试图避免为每个循环创建一个新数组。

标签: c# arrays for-loop scope


【解决方案1】:

在这种情况下最好使用List&lt;T&gt;

你必须创建一个类,然后你可以创建一个List&lt;T&gt; 来保存项目:

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();
    }

【讨论】:

    猜你喜欢
    • 2016-01-10
    • 1970-01-01
    • 2021-09-05
    • 2022-01-25
    • 2015-08-14
    • 1970-01-01
    • 2016-12-18
    • 1970-01-01
    • 2020-10-12
    相关资源
    最近更新 更多