コガネブログ

平日更新を目標に 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 IsNotNullOrEmpty<T>( this IList<T> self )
    {
        Assert.IsTrue( self != null && 0 < self.Count );
    }
    
    [Conditional( "UNITY_ASSERTIONS" )]
    public static void IsNotNullOrEmpty<T>( this IList<T> self, string message )
    {
        Assert.IsTrue( self != null && 0 < self.Count, message );
    }
}
// 値が正常なのでメッセージを投げない
AssertUtils.IsNotNullOrEmpty( new int[ 1 ] );

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