Example #1
0
 /// <summary>
 /// Removes default values from a list
 /// </summary>
 /// <typeparam name="T">Value type</typeparam>
 /// <param name="Value">List to cull items from</param>
 /// <param name="EqualityComparer">Equality comparer used (defaults to GenericEqualityComparer)</param>
 /// <returns>An IEnumerable with the default values removed</returns>
 public static IEnumerable <T> RemoveDefaults <T>(this IEnumerable <T> Value, IEqualityComparer <T> EqualityComparer = null)
 {
     if (Value.IsNull())
     {
         return(Value);
     }
     EqualityComparer = EqualityComparer.NullCheck(new GenericEqualityComparer <T>());
     return(Value.Where(x => !x.IsDefault(EqualityComparer)));
 }
Example #2
0
 /// <summary>
 ///     Removes default values from a list
 /// </summary>
 /// <typeparam name="T">Value type</typeparam>
 /// <param name="value">List to cull items from</param>
 /// <param name="equalityComparer">Equality comparer used (defaults to GenericEqualityComparer)</param>
 /// <returns>An IEnumerable with the default values removed</returns>
 public static IEnumerable <T> RemoveDefaults <T>(this IEnumerable <T> value,
                                                  IEqualityComparer <T> equalityComparer = null)
 {
     if (value.IsNull())
     {
         return(value);
     }
     equalityComparer = equalityComparer.NullCheck(() => new GenericEqualityComparer <T>());
     return(value.Where(x => !x.IsDefault(equalityComparer)));
 }
 /// <summary>
 /// Removes default values from a list
 /// </summary>
 /// <typeparam name="T">Value type</typeparam>
 /// <param name="Value">List to cull items from</param>
 /// <param name="EqualityComparer">Equality comparer used (defaults to GenericEqualityComparer)</param>
 /// <returns>An IEnumerable with the default values removed</returns>
 public static IEnumerable <T> RemoveDefaults <T>(this IEnumerable <T> Value, IEqualityComparer <T> EqualityComparer = null)
 {
     if (Value.IsNull())
     {
         yield break;
     }
     EqualityComparer = EqualityComparer.NullCheck(new GenericEqualityComparer <T>());
     foreach (T Item in Value.Where(x => !EqualityComparer.Equals(x, default(T))))
     {
         yield return(Item);
     }
 }
Example #4
0
 /// <summary>
 /// 从列表中移除默认值
 /// </summary>
 public static IEnumerable <T> RemoveDefaults <T>(this IEnumerable <T> value, IEqualityComparer <T> equalityComparer = null)
 {
     if (value == null)
     {
         yield break;
     }
     equalityComparer = equalityComparer.NullCheck(new GenericEqualityComparer <T>());
     foreach (T item in value.Where(x => !equalityComparer.Equals(x, default(T))))
     {
         yield return(item);
     }
 }
Example #5
0
        /// <summary>
        ///     Determines the position of an object if it is present, otherwise it returns -1
        /// </summary>
        /// <typeparam name="T">Object type</typeparam>
        /// <param name="list">List of objects to search</param>
        /// <param name="Object">Object to find the position of</param>
        /// <param name="equalityComparer">Equality comparer used to determine if the object is present</param>
        /// <returns>The position of the object if it is present, otherwise -1</returns>
        public static int PositionOf <T>(this IEnumerable <T> list, T Object, IEqualityComparer <T> equalityComparer = null)
        {
            Guard.NotNull(list, "list");
            equalityComparer = equalityComparer.NullCheck(() => new GenericEqualityComparer <T>());
            int count = 0;

            foreach (var item in list)
            {
                if (equalityComparer.Equals(Object, item))
                {
                    return(count);
                }
                ++count;
            }
            return(-1);
        }
Example #6
0
 /// <summary>
 ///     Determines if the object is null
 /// </summary>
 /// <typeparam name="T">Object type</typeparam>
 /// <param name="Object">The object to check</param>
 /// <param name="equalityComparer">Equality comparer used to determine if the object is equal to default</param>
 /// <returns>True if it is null, false otherwise</returns>
 public static bool IsDefault <T>(this T Object, IEqualityComparer <T> equalityComparer = null)
 {
     return(equalityComparer.NullCheck(() => new GenericEqualityComparer <T>()).Equals(Object, default(T)));
 }
Example #7
0
 /// <summary>
 /// Determines if the object is null
 /// </summary>
 public static bool IsDefault <T>(this T obj, IEqualityComparer <T> equalityComparer = null)
 {
     return(equalityComparer.NullCheck(new GenericEqualityComparer <T>()).Equals(obj, default(T)));
 }