コガネブログ

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

【C#】リスト内に指定された要素があるか調べて存在する場合はその要素をリストから削除する拡張メソッド

using System;
using System.Collections.Generic;

public static class ListExtensions
{
    /// <summary>
    /// <para>リスト内に指定された要素があるか調べて</para>
    /// <para>存在する場合はその要素をリストから削除します</para>
    /// </summary>
    public static void Remove<T>( 
        this List<T> self, 
        Predicate<T> match 
    )
    {
        var index = self.FindIndex( match );
        if ( index == -1 )
        {
            return;
        }
        self.RemoveAt( index );
    }
}
var list = new List<string>
{
    "1", 
    "2", 
    "3", 
};
list.Remove( c => c == "2" );