美文网首页.NET
.NET C# 自定义集合扩展

.NET C# 自定义集合扩展

作者: Charles2018 | 来源:发表于2022-05-19 15:14 被阅读0次
  • 获取重复元素
    /// <summary>
    /// 获取重复元素
    /// </summary>
    /// <param name="left"></param>
    /// <returns></returns>
    public static IList<string> Duplicates(this IList<string> left)
    {
        var duplicates = left.GroupBy(x => x).Where(group => group.Count() > 1)
                        .Select(group => group.Key).ToList();
        return duplicates;
    }
  • 添加新元素不重复
public static bool AddNonRepeat<T>(this IList<T> list, T item) {
    if (!list.Contains(item))
    {
        list.Add(item);
        return true;
    }
    return false;
}
  • 获取并移除
public static T GetAndRemove<T>(this IList<T> list, T defValue)
{
    var ret = TryGetValue(list, defValue);
    if (ret != null) list.Remove(ret);
    return ret;
}

相关文章

网友评论

    本文标题:.NET C# 自定义集合扩展

    本文链接:https://www.haomeiwen.com/subject/vgytprtx.html