0

特定のクラス メンバーが null かどうかを確認する方法はありますか?

N個のプロパティ(メンバー)を持つクラスがあります。クラス用に多くのオブジェクトを作成する必要があり、それらのプロパティに値を割り当てる場合があります.Listを使用してすべてのオブジェクトを保存しています。

ここで、リストの特定のインデックスのオブジェクトのプロパティが null または設定されていないかどうかを確認したいですか? これは、ループを使用したり、各プロパティを手動でチェックしたりせずに達成できますか?

前もって感謝します..

4

4 に答える 4

3

Aタイプ、のアイテムのリストがあるとしますlistA。以下は、プロパティが に設定されているリスト内のすべての項目を検索する LINQ 式ですnull

var output = listA.Where(a => typeof (A).GetProperties()
                                        .Any(p => p.GetValue(a) == null))
            .Select((a, index) => index)
            .ToList();
于 2012-08-22T18:29:00.523 に答える
-1

いくつかの作業が必要になる可能性がありますが、使用できる一般的な機能は次のとおりです。正直なところ、これがループを使用しない/各メンバーを個別にチェックするという制限に違反するかどうかはわかりません(両方をどのように行うかを見てください)。

public static bool AreAnyPropertiesNull(object obj)
{
    foreach (var prop in obj.GetType().GetProperties())
    {
        object propertyValue = prop.GetValue(obj, null);
        if (propertyValue == null)
            return true;
    }
    return false;
}
于 2012-08-22T18:23:20.797 に答える
-2

listOfObjects[i].HaveAnyOfPropertiesNullOrNotSet()

ここにはループがありません。

于 2012-08-22T18:15:23.087 に答える