C# 在不同方法中使用数组
我正在用C语言编写代码, 此代码允许您将项目添加到代码、价格、单位等中。将它们保存在数组中,菜单将显示聚合的项目。 我有一个问题,因为我这样做,显然我的代码不工作,有人能帮我吗?。 国王问候。 我是这方面的新手C# 在不同方法中使用数组,c#,function,methods,C#,Function,Methods,我正在用C语言编写代码, 此代码允许您将项目添加到代码、价格、单位等中。将它们保存在数组中,菜单将显示聚合的项目。 我有一个问题,因为我这样做,显然我的代码不工作,有人能帮我吗?。 国王问候。 我是这方面的新手 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Market { publ
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Market
{
public class Menu
{
public static int item { get; set; }
public static string[] product = new string[item];
public static string[] code = new string[item];
public static string[] price = new string[item];
public static string[] unit = new string[item];
public void showMenu()
{
Console.WriteLine("1.- Add new item");
Console.WriteLine("2.- Show items");
Console.WriteLine("3.- Exit");
//Menu
while (true)
{
string option = Console.ReadLine();
switch (option)
{
case "1":
addItem();
break;
case "2":
showItems();
break;
case "3":
System.Environment.Exit(-1);
Console.ReadKey();
break;
default:
Console.WriteLine("Select one valid option..");
break;
}
}
}
public static void addItem()
{
Console.WriteLine("\nAmount of items to add");
item = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Insert the items.");
for (int i = 0; i < item; i++)
{
Console.WriteLine("\nItem[" + i + "]: ");
Console.Write("Product[" + i + "]: ");
product[i] = Console.ReadLine();
Console.Write("Code[" + i + "]: ");
code[i] = Console.ReadLine();
Console.Write("Price[" + i + "]: ");
price[i] = Console.ReadLine();
Console.Write("Unit[" + i + "]: ");
unit[i] = Console.ReadLine();
}
}
public static void showItems()
{
Console.WriteLine("******* SHOW ITEMS *******");
Console.WriteLine("Product ------------- Code ------------- Price ------------- Unit");
for (int i = 0; i < item; i++)
{
Console.WriteLine(product[i] + " " + code[i] + " " + price[i] + " " + unit[i]);
}
}
}
}
使用系统;
使用System.Collections.Generic;
使用System.Linq;
使用系统文本;
使用System.Threading.Tasks;
名称空间市场
{
公共类菜单
{
公共静态int项{get;set;}
公共静态字符串[]产品=新字符串[项目];
公共静态字符串[]代码=新字符串[项目];
公共静态字符串[]价格=新字符串[项目];
公共静态字符串[]单位=新字符串[项目];
公共void showMenu()
{
控制台写入线(“1.-添加新项”);
控制台写入线(“2-显示项目”);
控制台写入线(“3-退出”);
//菜单
while(true)
{
字符串选项=Console.ReadLine();
开关(选件)
{
案例“1”:
addItem();
打破
案例“2”:
showItems();
打破
案例“3”:
系统。环境。退出(-1);
Console.ReadKey();
打破
违约:
Console.WriteLine(“选择一个有效选项…”);
打破
}
}
}
公共静态void addItem()
{
Console.WriteLine(“\n要添加的项目数量”);
item=Convert.ToInt32(Console.ReadLine());
Console.WriteLine(“插入项目”);
对于(int i=0;i
您正在初始化长度为零的数组。在应用程序启动时初始化的数组和项属性是静态的。所以,当您更改项字段时,您的数组已经用默认值int初始化,即零。您应该在设置item属性后初始化数组。即使在此之后,您也无法将项添加到阵列中。尝试改用列表。您正在初始化长度为零的数组。在应用程序启动时初始化的数组和项属性是静态的。所以,当您更改项字段时,您的数组已经用默认值int初始化,即零。您应该在设置item属性后初始化数组。即使在此之后,您也无法将项添加到阵列中。尝试改用列表。代码几乎没有问题
item
value为零。向0
大小的数组插入任何值都会引发异常列表
保存集合
public class Product
{
public string Name {get;set;}
public string Code {get;set;}
public double Price {get;set;}
public int Unit {get;set;}
}
现在修改您的附加项
,以创建产品
public static void addItem()
{
Console.WriteLine("\nAmount of items to add");
item = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Insert the items.");
for (int i = 0; i < item; i++)
{
var product = new Product();
Console.WriteLine("\nItem[" + i + "]: ");
Console.Write("Product[" + i + "]: ");
product.Name = Console.ReadLine();
Console.Write("Code[" + i + "]: ");
product.Code = Console.ReadLine();
Console.Write("Price[" + i + "]: ");
product.Price = double.Parse(Console.ReadLine()); //read as double value.
Console.Write("Unit[" + i + "]: ");
product.Unit = int.Parse(Console.ReadLine()); // Read as int value
products.Add(product); // products is global/class variable.
}
}
公共静态void addItem()
{
Console.WriteLine(“\n要添加的项目数量”);
item=Convert.ToInt32(Console.ReadLine());
Console.WriteLine(“插入项目”);
对于(int i=0;i
检查这个,它会给你一个继续的想法 代码几乎没有问题
item
value为零。向0
大小的数组插入任何值都会引发异常列表
保存集合
public class Product
{
public string Name {get;set;}
public string Code {get;set;}
public double Price {get;set;}
public int Unit {get;set;}
}
现在修改您的附加项
,以创建产品
public static void addItem()
{
Console.WriteLine("\nAmount of items to add");
item = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Insert the items.");
for (int i = 0; i < item; i++)
{
var product = new Product();
Console.WriteLine("\nItem[" + i + "]: ");
Console.Write("Product[" + i + "]: ");
product.Name = Console.ReadLine();
Console.Write("Code[" + i + "]: ");
product.Code = Console.ReadLine();
Console.Write("Price[" + i + "]: ");
product.Price = double.Parse(Console.ReadLine()); //read as double value.
Console.Write("Unit[" + i + "]: ");
product.Unit = int.Parse(Console.ReadLine()); // Read as int value
products.Add(product); // products is global/class variable.
}
}
公共静态void addItem()
{
Console.WriteLine(“\n要添加的项目数量”);
item=Convert.ToInt32(Console.ReadLine());
Console.WriteLine(“插入项目”);
对于(int i=0;i public static int item { get; set; }
//just declare your arrays here
public string[] product;
public string[] code;
public string[] price;
public string[] unit;
public void addItem()
{
Console.WriteLine("\nAmount of items to add");
item = Convert.ToInt32(Console.ReadLine());
//instantiate your arrays here since item will have a value you have set it into.
product = new string[item];
code = new string[item];
price = new string[item];
unit = new string[item];
Console.WriteLine("Insert the items.");
using System;
using System.Collections.Generic;
namespace Market
{
public class Menu
{
public struct Item
{
public string product;
public string code;
public string price;
public string unit;
}
public static List<Item> items = new List<Item>();
public static void showMenu()
{
//Menu
while (true)
{
Console.WriteLine("\n1.- Add new item");
Console.WriteLine("2.- Show items");
Console.WriteLine("3.- Exit");
string option = Console.ReadLine();
switch (option)
{
case "1":
addItem();
break;
case "2":
showItems();
break;
case "3":
System.Environment.Exit(-1);
Console.ReadKey();
break;
default:
Console.WriteLine("Select one valid option..");
break;
}
}
}
public static void addItem()
{
Console.WriteLine("\nAmount of items to add");
int numbItemsToAdd = Convert.ToInt32(Console.ReadLine()); // needs validation
Console.WriteLine("Insert the items.");
for (int i = 0; i < numbItemsToAdd; i++)
{
Item item = new Item();
Console.WriteLine("\nItem[" + (i + 1) +"]: ");
Console.Write("Product[" + (i + 1) +"]: ");
item.product = Console.ReadLine();
Console.Write("Code[" + (i + 1) + "]: ");
item.code = Console.ReadLine();
Console.Write("Price[" + (i + 1) + "]: ");
item.price = Console.ReadLine();
Console.Write("Unit[" + (i + 1) + "]: ");
item.unit = Console.ReadLine();
items.Add(item);
}
}
public static void showItems()
{
Console.WriteLine("******* SHOW ITEMS *******");
Console.WriteLine("Product ------------- Code ------------- Price ------------- Unit");
foreach(Item i in items)
{
Console.WriteLine(i.product + " " + i.code + " " + i.price + " " + i.unit);
}
}
public static void Main()
{
showMenu();
}
}
}
public class Menu
{
public static int item { get; set; }
public static List<string> product = new List<string>();
public static List<string> code = new List<string>();
public static List<string> price = new List<string>();
public static List<string> unit = new List<string>();
public void showMenu()
{
//Menu
while (true)
{
Console.WriteLine("\n1.- Add new item");
Console.WriteLine("2.- Show items");
Console.WriteLine("3.- Exit \n");
string option = Console.ReadLine();
switch (option)
{
case "1":
addItem();
break;
case "2":
showItems();
break;
case "3":
System.Environment.Exit(-1);
Console.ReadKey();
break;
default:
Console.WriteLine("Select one valid option..");
break;
}
}
}
public static void addItem()
{
Console.WriteLine("\nAmount of items to add");
item = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Insert the items.");
for (int i = 1; i <= item; i++)
{
Console.WriteLine("\nItem[" + i + "]: ");
Console.Write("Product[" + i + "]: ");
product.Add(Console.ReadLine());
Console.Write("Code[" + i + "]: ");
code.Add(Console.ReadLine());
Console.Write("Price[" + i + "]: ");
price.Add(Console.ReadLine());
Console.Write("Unit[" + i + "]: ");
unit.Add(Console.ReadLine());
}
}
public static void showItems()
{
Console.WriteLine("******* SHOW ITEMS *******");
Console.WriteLine("Product ------------- Code ------------- Price ------------- Unit");
for (int i = 0; i < item; i++)
{
Console.WriteLine(product[i] + " " + code[i] + " " + price[i] + " " + unit[i]);
}
}
}