0

メンバーが 1 人のリストを作成する最も簡単な方法を求める SO を読みました。

オブジェクトを単一要素リストに変換する簡単な方法は?

これは私に疑問を投げかけました.これはいつ役に立ちますか?

変数自体List<T>だけでなく、単一のメンバーで aを使用する例は考えられません。T

誰かが説明または例を提供できますか?

4

4 に答える 4

3

オブジェクトのコレクションを返す必要があるインターフェイスを実装する必要がある場合があります。単一のオブジェクトを返したい場合もありますが、それでもインターフェイスを満たす必要があります。これを行う 1 つの方法は、単一のオブジェクトを含むリストを作成してからリストを返すことです。

class ConstantValue : IValueProvider
{
    public override IList<int> getValues()
    {
         return new List<int> { 1 };
    }
}
于 2012-12-21T23:28:58.140 に答える
2

一般に、これは、たまたま 1 つのメンバーを含む要素の論理コレクションがある場合に発生します。たとえば、Room アイテムのコレクションを持つ House クラスがあるとしますが、OneRoomSchoolhouse クラスの Rooms コレクションにはオブジェクトが 1 つしかありません。

別の例として、次のシグネチャを持つメソッドがあるとします。

void LogNewItems(List<Item> newItems);

アイテムが 1 つしかない場合は、次のように渡す必要があります。

LogNewItems(new List<Item> { item });

実際、アイテム ロギング API を設計している場合は、便利なメソッドを作成して、開発者がそれを行う必要がないようにすることができます。メソッドは次のようになります。

void LogNewItem(Item item)
{
    LogNewItems(new List<Item> { item });
}
于 2012-12-21T23:34:10.957 に答える
0

DoSomethingWithAListOfFoo(List<Foo> items)したがって、DoSomethingWithAFoo(Foo item)実装 する必要はありません。DoSomethingWithAFoo単一の項目リストを作成して に渡すだけDoSomethingWithAListOfFooです。

于 2012-12-21T23:42:51.940 に答える