123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149 |
- namespace UniversalNetFrame451;
- public static class Extensions
- {
- public static bool TryDequeue<T>(this Queue<T> queue, out T output)
- {
- output = default;
- if (queue.Count == 0)
- return false;
- output = queue.Dequeue();
- return true;
- }
- public static bool TryPeek<T>(this Queue<T> queue, out T output)
- {
- output = default;
- if (queue.Count == 0)
- return false;
- output = queue.Peek();
- return true;
- }
- public static bool TryAddElseReplace<TKey, TValue>(this Dictionary<TKey, TValue> dic, TKey key, TValue value)
- {
- if (dic.ContainsKey(key))
- {
- dic[key] = value;
- return false;
- }
- else
- {
- dic.Add(key, value);
- return true;
- }
- }
- public static bool NotIn<T_Enum>(this T_Enum t_Enum, T_Enum enums1) where T_Enum : Enum
- {
- if (Enum.Equals(t_Enum, enums1))
- return false;
- return true;
- }
- public static bool NotIn<T_Enum>(this T_Enum t_Enum, T_Enum enums1, T_Enum enums2) where T_Enum : Enum
- {
- if (Enum.Equals(t_Enum, enums1))
- return false;
- if (Enum.Equals(t_Enum, enums2))
- return false;
- return true;
- }
- public static bool NotIn<T_Enum>(this T_Enum t_Enum, T_Enum enums1, T_Enum enums2, T_Enum enums3) where T_Enum : Enum
- {
- if (Enum.Equals(t_Enum, enums1))
- return false;
- if (Enum.Equals(t_Enum, enums2))
- return false;
- if (Enum.Equals(t_Enum, enums3))
- return false;
- return true;
- }
- public static bool NotIn<T_Enum>(this T_Enum t_Enum, T_Enum enums1, T_Enum enums2, T_Enum enums3, T_Enum enums4) where T_Enum : Enum
- {
- if (Enum.Equals(t_Enum, enums1))
- return false;
- if (Enum.Equals(t_Enum, enums2))
- return false;
- if (Enum.Equals(t_Enum, enums3))
- return false;
- if (Enum.Equals(t_Enum, enums4))
- return false;
- return true;
- }
- public static bool In<T_Enum>(this T_Enum t_Enum, T_Enum enums1) where T_Enum : Enum
- {
- if (Enum.Equals(t_Enum, enums1))
- return true;
- return false;
- }
- public static bool In<T_Enum>(this T_Enum t_Enum, T_Enum enums1, T_Enum enums2) where T_Enum : Enum
- {
- if (Enum.Equals(t_Enum, enums1))
- return true;
- if (Enum.Equals(t_Enum, enums2))
- return true;
- return false;
- }
- public static bool In<T_Enum>(this T_Enum t_Enum, T_Enum enums1, T_Enum enums2, T_Enum enums3) where T_Enum : Enum
- {
- if (Enum.Equals(t_Enum, enums1))
- return true;
- if (Enum.Equals(t_Enum, enums2))
- return true;
- if (Enum.Equals(t_Enum, enums3))
- return true;
- return false;
- }
- public static bool In<T_Enum>(this T_Enum t_Enum, T_Enum enums1, T_Enum enums2, T_Enum enums3, T_Enum enums4) where T_Enum : Enum
- {
- if (Enum.Equals(t_Enum, enums1))
- return true;
- if (Enum.Equals(t_Enum, enums2))
- return true;
- if (Enum.Equals(t_Enum, enums3))
- return true;
- if (Enum.Equals(t_Enum, enums4))
- return true;
- return false;
- }
- public static void Foreach<T>(this IEnumerable<T> t, Action<T> action)
- {
- foreach (var item in t)
- action.Invoke(item);
- }
- public static void ConditionForeach<T>(this IEnumerable<T> t, Action<T> action, Func<T, bool> judger)
- {
- foreach (var item in t)
- {
- if (!judger.Invoke(item))
- continue;
- action.Invoke(item);
- }
- }
- }
|