这种方式在c#中传递参数非常好

2 c#

在我的应用程序中,我需要一个List作为参数传递.

我写了

List<stuff.Inventory> inv = new List<stuff.Inventory>();
inv.Add(stuff.Inventory.NotAvailable);
inv.Add(stuff.Inventory.None);
inv.Add(stuff.Inventory.Coming);

if (stuff.isStuffinInv(inv, prodID))
{
    // ...
}
Run Code Online (Sandbox Code Playgroud)

我的方式是正确的还是需要任何新的方式来做到这一点

Jon*_*eet 6

好吧,除了命名约定和缩进,它看起来还不错.

使用C#3,您可以使用集合初始值设定项,如下所示:

List<Inventory> inventory = new List<Inventory>
{
    Inventory.NotAvailable, Inventory.None, Inventory.Coming
};
if (stuff.isStuffInInv(inventory, prodID))
...
Run Code Online (Sandbox Code Playgroud)

这是一种通常更具可读性的方法,IMO.


Jam*_*mes 5

从它的外观来看,库存似乎是一个emum.您是否考虑过使用FlagsAttribute