コガネブログ

平日更新を目標に Unity や C#、Visual Studio、ReSharper などのゲーム開発アレコレを書いていきます

【Unity】リストがnullまたは空であることを保証する関数

using System.Collections.Generic;
using System.Diagnostics;
using UnityEngine.Assertions;

public static class AssertUtils
{
    [Conditional( "UNITY_ASSERTIONS" )]
    public static void IsNullOrEmpty<T>( this IList<T> self )
    {
        Assert.IsTrue( self == null || self.Count == 0 );
    }
    
    [Conditional( "UNITY_ASSERTIONS" )]
    public static void IsNullOrEmpty<T>( this IList<T> self, string message )
    {
        Assert.IsTrue( self == null || self.Count == 0, message );
    }
}
// 値が正常なのでメッセージを投げない
AssertUtils.IsNullOrEmpty( new int[ 0 ] );

// 値が不正なのでメッセージを投げる
AssertUtils.IsNullOrEmpty( new int[ 1 ] );