私の問題は、可変量のパラメーターを取るメソッドがあることです。
new ClassName(p1, p2)
これらの各パラメーターはオブジェクトです。実際の問題は、そのメソッドのすべてのパラメーターを記述すると非常に冗長になることにあります。
p1
andを送信する方法はありますかまたはのいずれかp2
の形式で単一のパラメーターとして{p1, p2}
(p1, p2)
Insert(("John", "Doe"), ("Sherlock", "Holmes"), ... etc)
書くのではなく、メソッド自体でそれらを書き込んでニュースに渡すことができるようにInsert(new Person("John", "Doe"), new Person("Sherlock", "Holmes"), ... etc)
F# と scala のタプルがこのようにできることは知っていますが、C# でタプルを使用するとコードがさらに長くなります。
冗長にする方法はありますか?
編集:新しい配列や新しいリストを作成しようとしているのではなく、 new キーワードをできるだけ避けたい
Edit2: Insert メソッドがどのように見えるかを確認するように要求した人もいました。現在、次のようになっています。
public void Insert(params Person[] arr)
{
//inserts the person in a hash table
Action<Person> insert = (person) => _table[hasher(person.Name)].Add(person);
// calls the insert function/action for each person in the parameter array
Array.ForEach(arr, insert);
}