Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/298.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在2d数组中获得多个输入,以保存和输出用户信息 static void Main2(字符串[]args) { 字符串[,]项=新字符串[2,2]; 对于(int i=0;i_C#_Arrays_2d - Fatal编程技术网

C# 如何在2d数组中获得多个输入,以保存和输出用户信息 static void Main2(字符串[]args) { 字符串[,]项=新字符串[2,2]; 对于(int i=0;i

C# 如何在2d数组中获得多个输入,以保存和输出用户信息 static void Main2(字符串[]args) { 字符串[,]项=新字符串[2,2]; 对于(int i=0;i,c#,arrays,2d,C#,Arrays,2d,如何在二维数组中获取多个输入,以保存和输出用户信息 如果您想使用数组保存用户的答案,那么这可能会有帮助: static void Main2(string[] args) { string[,] items = new string[2, 2]; for (int i = 0; i < 2; i++) { for (int j = 0; j < 2; j++) { Console.WriteLine("

如何在二维数组中获取多个输入,以保存和输出用户信息

如果您想使用数组保存用户的答案,那么这可能会有帮助:

static void Main2(string[] args)
{
    string[,] items = new string[2, 2];

    for (int i = 0; i < 2; i++)
    {
        for (int j = 0; j < 2; j++)
        {
            Console.WriteLine("Enter Item Name:");
            Console.WriteLine("Enter Item Price:");
            Console.WriteLine("Enter Item Quantity:");

            items[i, j] = Convert.ToString(Console.ReadLine());
        }
    }

    for (int i = 0; i < 2; i++)
    {
        for (int j = 0; j < 2; j++)
        {
            Console.WriteLine("Item Name: " + items[i, j]);
            Console.WriteLine();
            Console.WriteLine("Item Price: " + items[i, j]);
            Console.WriteLine();
            Console.WriteLine("Item Quantity: " + items[i, j]);
            Console.WriteLine();
        }

        Console.ReadLine();
    }
}
string[,]items=新字符串[2,3];
对于(int i=0;i<2;i++)
{
Console.WriteLine(“输入项目名称:”);
items[i,0]=Console.ReadLine();
Console.WriteLine(“输入项目价格:”);
items[i,1]=Console.ReadLine();
Console.WriteLine(“输入项目数量:”);
items[i,2]=Console.ReadLine();
}
对于(int i=0;i<2;i++)
{
Console.WriteLine(“项目名称:+项目[i,0]);
Console.WriteLine(“项目价格:+项目[i,1]);
控制台写入线(“项目数量:+项目[i,2]);
}
Console.ReadLine();

最可读的方法可能是创建一个简单的类来存储数据,然后将这些类的集合存储在
列表中。您可以
重写类上的
ToString
方法,并且可以创建一个简单的包装器,用于从用户处获取强类型数据(对于
Price
Quantity
,我们希望他们只输入数字):

现在有几个包装器提示用户输入并获得强类型结果:

public class Item
{
    public string Name { get; set; }
    public decimal Price { get; set; }
    public int Quantity { get; set; }

    public override string ToString()
    {
        return $"Name: {Name}, Price: {Price:C}, Quantity: {Quantity}";
    }
}
然后,我们可以在一个循环中从用户处获得两个项目:

private static int GetIntFromUser(string prompt)
{
    int result;

    do
    {
        Console.Write(prompt);
    } while (!int.TryParse(Console.ReadLine(), out result));

    return result;
}

private static decimal GetDecimalFromUser(string prompt)
{
    decimal result;

    do
    {
        Console.Write(prompt);
    } while (!decimal.TryParse(Console.ReadLine(), out result));

    return result;
}

private static string GetInputFromUser(string prompt)
{
    Console.Write(prompt);
    return Console.ReadLine();
}
static void Main(字符串[]args)
{
var items=新列表();
对于(变量i=0;i<2;i++)
{
var itemNumber=$“Item{i+1}”;
var项目=新项目
{
Name=GetInputFromUser($”输入{itemNumber}名称:”),
Price=GetDecimalFromUser($“输入{itemNumber}价格:”),
数量=GetIntFromUser($”输入{itemNumber}数量:)
};
项目。添加(项目);
}
foreach(项目中的var项目)
{
控制台写入线(项目);
}
}

提示输入名称、价格和数量,然后只向用户收集一件物品。请注意,管理大量相关数据位的一种更明智的方法是使用一个类,然后使用一个集合来存储其中的许多位;和Console.WriteLine();单独的类?将用户提示放在另一个类中?
private static int GetIntFromUser(string prompt)
{
    int result;

    do
    {
        Console.Write(prompt);
    } while (!int.TryParse(Console.ReadLine(), out result));

    return result;
}

private static decimal GetDecimalFromUser(string prompt)
{
    decimal result;

    do
    {
        Console.Write(prompt);
    } while (!decimal.TryParse(Console.ReadLine(), out result));

    return result;
}

private static string GetInputFromUser(string prompt)
{
    Console.Write(prompt);
    return Console.ReadLine();
}
static void Main(string[] args)
{
    var items = new List<Item>();

    for (var i = 0; i < 2; i++)
    {
        var itemNumber = $"Item #{i + 1}";
        var item = new Item
        {
            Name = GetInputFromUser($"Enter {itemNumber} Name: "),
            Price = GetDecimalFromUser($"Enter {itemNumber} price: "),
            Quantity = GetIntFromUser($"Enter {itemNumber} Quantity: ")
        };

        items.Add(item);
    }

    foreach (var item in items)
    {
        Console.WriteLine(item);
    }
}