rj-action-library/Runtime/Tools/Dictionaries.cs

25 lines
494 B
C#

using System.Collections;
using System.Collections.Generic;
using System.Text;
using System;
namespace Rokojori
{
public class Dictionaries
{
public static void RemoveAll<K,V>( Dictionary<K,V> dictionary, Func<K,V,bool> predicate )
{
var list = new List<K>();
foreach ( var kv in dictionary )
{
if ( predicate( kv.Key, kv.Value ) )
{
list.Add( kv.Key );
}
}
list.ForEach( k => dictionary.Remove( k ) );
}
}
}