Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.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
存储包含字符串和int、List或Array的用户输入数据的有效方法?C#_C#_Arrays_List_Object_Input - Fatal编程技术网

存储包含字符串和int、List或Array的用户输入数据的有效方法?C#

存储包含字符串和int、List或Array的用户输入数据的有效方法?C#,c#,arrays,list,object,input,C#,Arrays,List,Object,Input,对于个人项目,我想用C#制作一个简单的库存系统。有三个输入,itemName(string)、itemQuantity(int)、itemLevelAlert(int),然后是一个按钮 单击“添加”按钮时,我希望将输入数据分组并存储在某个位置。我没有足够的C#经验来知道最好的方法 在JavaScript中,我可能会使用多维数组: var inventoryArray = [["Hammer", 25, 5], ["Nails", 100, 20]] 只需将输入推送到该数组。我仍在学习C#,关于

对于个人项目,我想用C#制作一个简单的库存系统。有三个输入,itemName(string)、itemQuantity(int)、itemLevelAlert(int),然后是一个按钮

单击“添加”按钮时,我希望将输入数据分组并存储在某个位置。我没有足够的C#经验来知道最好的方法

在JavaScript中,我可能会使用多维数组:

var inventoryArray = [["Hammer", 25, 5], ["Nails", 100, 20]]
只需将输入推送到该数组。我仍在学习C#,关于数组的情况有点不同

我可以做一些类似的清单吗?考虑到我的经验不足,我可能会深入到这一点,但我觉得这样会学得更好。

在C#等.Net语言中,您通常希望为这类事情构建一个类型(类):

public class Item
{
   public string Name {get;set;}
   public int Quantity {get;set;}
   public int AlertLevel {get;set;}
}
然后创建一个可以保存这些项目(并且只有这些项目!)

在.Net语言(如C#)中,您通常希望为此类内容构建一个类型(类):

public class Item
{
   public string Name {get;set;}
   public int Quantity {get;set;}
   public int AlertLevel {get;set;}
}
然后创建一个可以保存这些项目(并且只有这些项目!)


您可以从定义模型开始:

internal class Inventory
    {
        public string ItemName { get; set; }

        public int ItemQuantity { get; set; }

        public int ItemLevelAlert { get; set; }
    }
然后,您应该声明将存储新创建的库存的库存列表:

var inventoryList = new List<Inventory>();

您可以从定义模型开始:

internal class Inventory
    {
        public string ItemName { get; set; }

        public int ItemQuantity { get; set; }

        public int ItemLevelAlert { get; set; }
    }
然后,您应该声明将存储新创建的库存的库存列表:

var inventoryList = new List<Inventory>();

可以使用字符串和int类型执行以下操作:

            (string, int, int)[] Cats = 
            { 
                ("Tom", 20, 3), ("Fluffy", 30, 4), ("Harry", 40, 5), ("Fur Ball", 40, 6) 
            };
            
            foreach (var cat in Cats)
            {
                Console.WriteLine($"My cats name is {cat.Item1} it is {cat.Item2} years old and weights {cat.Item3} lbs.");
            }

可以使用字符串和int类型执行以下操作:

            (string, int, int)[] Cats = 
            { 
                ("Tom", 20, 3), ("Fluffy", 30, 4), ("Harry", 40, 5), ("Fur Ball", 40, 6) 
            };
            
            foreach (var cat in Cats)
            {
                Console.WriteLine($"My cats name is {cat.Item1} it is {cat.Item2} years old and weights {cat.Item3} lbs.");
            }

是的,列表就是您需要的。最好的选择是:创建一个具有必要属性的类,然后创建该类的对象列表class@un-幸运的辉煌!我仍然不熟悉课程,但快速阅读一下,我就明白你说的了。Joel的答案是我想要的。是的,列表就是你需要的。最好的选择是:创建一个具有必要属性的类,然后创建一个该类的对象列表class@un-幸运的辉煌!我仍然不熟悉课程,但快速阅读一下,我就明白你说的了。乔尔的回答正是我想要的。是的!我仍然习惯于上课。这实际上帮助我们弄清楚它们是如何发挥作用的。我已经完成了你们所做的工作,创建了一个包含3个输入的类,然后点击按钮,除了验证之外,我已经完成了所有的工作,谢谢你们,它们会派上用场的!注意。。。与javascript不同,.Net和C#对数据类型非常挑剔。您不想跳过验证!int不是字符串,字符串不是int。它们之间的转换不像javascript中那样自由。当然,你也可以用其他的方法。。。例如,除非文本框中有良好的数据,否则不启用按钮。但是不要期望以后在飞行中转换这个。您确实希望使用好的类型将数据存储在类中。这是我目前还没有的习惯,也是让我感到沮丧的,因为C#对其数据类型非常挑剔。我更喜欢学习事物如何交互(数据类型、方法、类),因为它与javascript非常不同。是的!我仍然习惯于上课。这实际上帮助我们弄清楚它们是如何发挥作用的。我已经完成了你们所做的工作,创建了一个包含3个输入的类,然后点击按钮,除了验证之外,我已经完成了所有的工作,谢谢你们,它们会派上用场的!注意。。。与javascript不同,.Net和C#对数据类型非常挑剔。您不想跳过验证!int不是字符串,字符串不是int。它们之间的转换不像javascript中那样自由。当然,你也可以用其他的方法。。。例如,除非文本框中有良好的数据,否则不启用按钮。但是不要期望以后在飞行中转换这个。您确实希望使用好的类型将数据存储在类中。这是我目前还没有的习惯,也是让我感到沮丧的,因为C#对其数据类型非常挑剔。我更喜欢学习事物如何交互(数据类型、方法、类),因为它与javascript非常不同。