急救!! 循环判断把list中重复数据去掉 放在另一个list中

151. 2021-01-29 04:06:51
循环判断把list中重复数据去掉 放在另一个list中。
...全文
349 11 打赏 收藏 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
gs0038 2021-02-02
  • 打赏
  • 举报
回复
如果这个list很长的话建议你设置key做成个字典,这样查找可以更快;Dictionary用这个把,如果又为了不影响顺序查询,可以先list.add(obj),然后再obj添加到字典
shawn xia 2021-02-01
  • 打赏
  • 举报
回复
引用 9 楼 TK0714. 的回复:
感谢各位,想问一下我的这个list_是List<String>型的判断包含时可以判断是否包含UserKey 要是List<UserInfo>我要怎判断是否包含UserKey呢?
                for (int i = 0; i < orgU.Count(); i++)
                {
                    if (!list_.Any(x => x.UserKey == orgU[i].UserKey))
                    {
                        //to do
                    }
                }
151. 2021-01-29
  • 打赏
  • 举报
回复
感谢各位,想问一下我的这个list_是List<String>型的判断包含时可以判断是否包含UserKey 要是List<UserInfo>我要怎判断是否包含UserKey呢?
ziqi0716 2021-01-29
  • 打赏
  • 举报
回复
引用 7 楼 ziqi0716 的回复:
换个字典版本的:

     var list = new List<int>() { 1, 1, 2, 2, 2, 5, 8, 5, 5, 8, 5, 5, 48, 85, 5, 54, 85 };
            Dictionary<int,int> dic=new Dictionary<int, int>();
            foreach (var i in list)
            {
                dic[i] = i;
            }
            var newList = dic.Keys; 
            foreach (var i in newList)
            {
                Console.WriteLine(i);
            }
第七行可以输出成List<T>: var newList = dic.Keys.ToList();
ziqi0716 2021-01-29
  • 打赏
  • 举报
回复
换个字典版本的:

     var list = new List<int>() { 1, 1, 2, 2, 2, 5, 8, 5, 5, 8, 5, 5, 48, 85, 5, 54, 85 };
            Dictionary<int,int> dic=new Dictionary<int, int>();
            foreach (var i in list)
            {
                dic[i] = i;
            }
            var newList = dic.Keys; 
            foreach (var i in newList)
            {
                Console.WriteLine(i);
            }
datafansbj 2021-01-29
  • 打赏
  • 举报
回复
这是个基本问题,需要首先明白什么是重复的数据。引用类型和值类型的处理是不一样的。引用类型只要值相同就认为是重复的,引用类型必须是同一对象引用才是重复的。详见 == 与 Equals 的联系和区别,把这个弄明白了,其他的就好办了,
weixin_42037497 2021-01-29
  • 打赏
  • 举报
回复
举例 list.Select(p => p.name).Distinct().ToList(); //去除name重复的list数据
shawn xia 2021-01-29
  • 打赏
  • 举报
回复
            List<int> List = new List<int>() { 1, 2, 3, 12, 2, 3 };
            List<int> NewList = new List<int>();

            //去重
            //var NewList = List.Distinct();

            //循环去重
            foreach (var item in List)
            {
                if (!NewList.Contains(item))
                {
                    NewList.Add(item);
                }
            }
郑剑1996 2021-01-29
  • 打赏
  • 举报
回复
写这个拓展他不香吗
郑剑1996 2021-01-29
  • 打赏
  • 举报
回复


public static class ObjectExtensions
    {    
    public static IEnumerable<TSource> DistinctBy<TSource, TKey>(this IEnumerable<TSource> source, Func<TSource, TKey> keySelector)
        {
            HashSet<TKey> seenKeys = new HashSet<TKey>();
            foreach (TSource element in source)
            {
                if (seenKeys.Add(keySelector(element)))
                {
                    yield return element;
                }
            }
        }
    }


/// <summary>
/// 返回题目数据
/// </summary>
[Serializable]
public class QuestionResult
{
    /// <summary>
    /// 编号
    /// </summary>
    public long Id { get; set; }
 
    /// <summary>
    /// 题目内容
    /// </summary>
    public string Title { get; set; }
 
}

list.DistinctBy(e => new { e.Id }).ToList();
shawn_yang 2021-01-29
  • 打赏
  • 举报
回复
要看list类型是对象还是单一数据类型

单一数据类型直接比较是否重复

对象,需要另外写compare
内容概要:本文介绍了PCIe 3.x至4.0版本在物理层(PHY)逻辑层面的关键技术演进,重点包括从8b/10b编码向128b/130b编码的转变,以提升带宽效率并降低开销。新编码机制通过同步头与加扰技术实现数据块对齐、帧定界和边沿密度控制,同时引入发射端均衡(Tx Equalization)和多阶段训练流程,以应对高速信道下的信号完整性挑战。文档还详细阐述了测试性功能如合规性模式、环回机制以及有序集(Ordered Sets)的设计用途,并前瞻性地预览了PCIe 4.0支持16GT/s速率的技术方向,包括继续采用128b/130b编码、增强均衡流程和使用Retimer扩展通道能力。; 适合人群:从事高速接口设计、芯片开发或系统架构的硬件工程师,特别是参与PCIe协议实现、物理层验证及信号完整性优化的研发人员。; 使用场景及目标:①理解PCIe 3.0128b/130b编码原理及其相较于8b/10b的优势;②掌握发射端自适应均衡机制与链路训练流程;③为开发兼容PCIe 4.0的产品提供前瞻技术参考;④用于硬件测试与合规性验证方案设计。; 阅读建议:此资料技术深度较高,建议结合PCIe Base Specification进行对照学习,重点关注编码结构、有序集格式、均衡状态机及错误恢复机制,在实际项目可作为物理层设计与调试的重要参考依据。

111,128

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧