RMafia/MafiaCommon/ArrayUtils.cs
2021-02-11 09:39:02 +03:00

39 lines
1002 B
C#

using System;
using System.Collections.Generic;
namespace MafiaCommon
{
public static class ListUtils
{
public static void Shuffle<T> (this Random rng, T[] array)
{
var n = array.Length;
while (n > 1)
{
var k = rng.Next(n--);
var temp = array[n];
array[n] = array[k];
array[k] = temp;
}
}
public static T[] RemoveFromArray<T> (this T[] original, int numIdx) {
if (numIdx == -1) return original;
var tmp = new List<T>(original);
tmp.RemoveAt(numIdx);
return tmp.ToArray();
}
public static void AddEmpty<T>(this Dictionary<T, int> original, T id, int add)
{
if (original.ContainsKey(id))
{
original[id] += add;
}
else
{
original.Add(id,add);
}
}
}
}