C# 存货类别
我已经创建了一个Inventory类,但我不知道如何从中检索信息。我知道如何在foreach循环中查看它并显示所有项目,但我不知道如何查看YoYo是否在其中,如果在那里,则将名称、成本和数量打印到标签上。有人能帮忙吗?既然你提到了foreach,听起来它实现了C# 存货类别,c#,class,C#,Class,我已经创建了一个Inventory类,但我不知道如何从中检索信息。我知道如何在foreach循环中查看它并显示所有项目,但我不知道如何查看YoYo是否在其中,如果在那里,则将名称、成本和数量打印到标签上。有人能帮忙吗?既然你提到了foreach,听起来它实现了IEnumerable。在这种情况下,如果您使用的是C#3.0/LINQ,则类似于: var yoyo = inventory.FirstOrDefault(item => item.Name == "YoYo"); if(yoyo
IEnumerable
。在这种情况下,如果您使用的是C#3.0/LINQ,则类似于:
var yoyo = inventory.FirstOrDefault(item => item.Name == "YoYo");
if(yoyo != null) { // found it
Console.WriteLine(yoyo.Cost); // etc
}
如果你有很多数据,你也可以看看字典…我希望你不仅仅是一个库存类,还要创建一个产品类。面向对象语言都是关于封装和信息隐藏的。将产品的输出嵌入该对象的方法中。客户可以简单地这样称呼它,而不必到处重复 我还建议在Inventory类中使用find方法来搜索产品实例。您现在可能想按名称搜索,但成本、类别或制造商呢?也许你以后会想扩展它 我同意Marc的字典建议,但我建议您将其作为Inventory私有实现的一部分。您正在添加一个额外的抽象,使库存不仅仅是一个字典
我认为字符串和数据结构非常好,但是当将它们隐藏在对象中时,这些原语常常会泄漏到代码中,这对客户端来说会更好。这就是我认为好的面向对象设计的全部内容。一些代码会很好。在我们知道你的库存类是什么样子之前,我们无能为力。