3

以下のコード行があります。すべてのプロパティに対して行うのではなく、チーム、DivisionTeam、Team、Coordinator、Profile、Address、および最後のプロパティ StateRegion の null をチェックできるメソッドはありますか?

if(team.DivisionTeam.Team.Coordinator.Profile.Address.StateRegion != null)
4

5 に答える 5

2

現在 C# ではできません。各プロパティの null を個別にチェックする必要があります。

「.?」を探しているのかもしれません。演算子ですが、C# 4.0 にはありません。この投稿と Eric Lippert からの応答を確認してください

于 2012-07-12T06:28:55.643 に答える
1

次の記事をチェックする必要があります:連鎖ヌルチェックと多分モナド。これは、IMOであり、あなたが求めていることを実際に「実行」するための最もクリーンな方法です。

そして、いいえ、C#にはこれを直接行うための組み込みの方法はありません。

于 2012-07-12T13:34:22.627 に答える
1

C# 6.0 では、1 つの文字列だけで実行できます。

var something = team?.DivisionTeam?.Team?.Coordinator?.Profile?.Address?.StateRegion;

詳細については、この記事を確認してください: null-conditional operator

于 2016-02-09T15:35:41.080 に答える
0

これがサンプルです

private bool IsValidTeam(Team team)
{ 
    bool result = false;
    if (team != null)
        if (team.DivisionTeam != null)
            if (team.DivisionTeam.Team != null)
                if (team.DivisionTeam.Team.Coordinator != null)
                    if (team.DivisionTeam.Team.Coordinator.Profile != null)
                        if (team.DivisionTeam.Team.Coordinator.Profile.Address != null)
                            if (team.DivisionTeam.Team.Coordinator.Profile.Address.StateRegion != null)
                                result = true;
    return result;
}
于 2012-07-12T06:32:42.370 に答える