C# 如何编辑类数组中的变量
不知道如何表达标题,很抱歉措辞不好,但如果我有这样的话C# 如何编辑类数组中的变量,c#,arrays,C#,Arrays,不知道如何表达标题,很抱歉措辞不好,但如果我有这样的话 public class Item { public string itemName; public double itemPrice; public double shipping; public double tax = 0.12; public double total; } 然后我继续声明一个数组 Item[] item = new Item[100] 我觉得这是一种很糟糕的方
public class Item
{
public string itemName;
public double itemPrice;
public double shipping;
public double tax = 0.12;
public double total;
}
然后我继续声明一个数组
Item[] item = new Item[100]
我觉得这是一种很糟糕的方法来创建这样的数组,但这里的问题是任意大小的数组,所以我确定它将在100以下,但项目将不断增加
现在如何编辑项目[0]的itemPrice
我尝试使用:
item[0].itemPrice = 34;
但是没有用
谢谢 当您使用
Item[]Item=新项[100]代码>,您只需为集合分配内存,但也需要初始化此数组中的每个对象
Item[] item = new Item[100];
item[0] = new Item();
item[0].itemName = "1";
您必须首先创建项目
PS您应该使这些成员成为公共属性。var items=new List();
var items = new List<Item>();
item.Add(new Item())
items.First().ItemName = "Foo";
item.Add(新项())
items.First().ItemName=“Foo”;
尝试使用列表
而不是数组<代码>列表
在向其添加项目时自动扩展自身
List<Item> list = new List<Item>();
Item myItem = new Item();
list.Add(myItem);
list[0].itemPrice = 0;
List List=新列表();
项目myItem=新项目();
列表。添加(myItem);
列表[0]。itemPrice=0;
如果声明项的数组,则创建的是数组,而不是类实例<代码>项[0]
将为null
创建任意数量实例的一种简单方法是使用Enumerable.Range
:
var items = Enumerable.Range(0, 20).Select (_ => new Item()).ToList();
这将创建一个包含20个
Item
实例的列表(您也可以通过调用ToArray
而不是ToList
来创建数组)。您必须初始化数组中的每个项。
假设你有一个合适的构造函数
Item[] item = new Item[100]
for (int i = 0; i < 100; i++)
{
item[i] = new item();
}
item[0].itemPrice = 34;
Item[]Item=新项[100]
对于(int i=0;i<100;i++)
{
项目[i]=新项目();
}
项目[0]。项目价格=34;
是否初始化了数组中的每个项对象?在旁注中,您可能希望了解如何使用构造函数和getter/setter方法。如果这对您有帮助,您可以接受正确的答案。谢谢我没有初始化每个项。您需要一个循环来初始化数组中的每个项。
Item[] item = new Item[100]
for (int i = 0; i < 100; i++)
{
item[i] = new item();
}
item[0].itemPrice = 34;