コガネブログ

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

【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" );

関連記事