简单的。如果我使用:
public void Add(params int[] values)
然后我可以将其用作:
Add(1, 2, 3, 4);
但现在我正在处理键值对!我有一个 KeyValue 类将整数链接到字符串值。所以我开始:
public void Add(params KeyValue[] values)
但我不能使用这个:
Add(1, "A", 2, "B", 3, "C", 4, "D");
相反,我被迫使用:
Add(new KeyValue(1, "A"), new KeyValue(2, "B"), new KeyValue(3, "C"), new KeyValue(4, "D"));
Ewww...我已经不喜欢这个了...
所以,现在我使用不带 params 修饰符的 Add 函数,只是将一个预定义的数组传递给这个函数。由于它只是用于测试的快速初始化,所以我并不担心需要这个额外的代码,尽管我想让代码保持简单易读。我很想知道一个技巧来使用我不能使用的方法,但是有没有办法在不使用“new KeyValue()”构造的情况下做到这一点?