You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在C#中从列表中筛选出仅出现一次的唯一值?

在C#中找出列表中仅出现一次的元素

需求说明

输入列表:['A', 'A', 'B', 'B', 'B', 'C', 'D', 'E', 'E', 'F']
期望输出:仅出现过一次的元素组成的列表 ['C', 'D', 'F']

实现方式一:使用LINQ(简洁高效)

借助LINQ的分组方法可以快速完成筛选,代码简洁易读:

using System;
using System.Collections.Generic;
using System.Linq;

class Program
{
    static void Main()
    {
        List<char> input = new List<char> { 'A', 'A', 'B', 'B', 'B', 'C', 'D', 'E', 'E', 'F' };
        
        List<char> result = input
            .GroupBy(element => element)
            .Where(group => group.Count() == 1)
            .Select(group => group.Key)
            .ToList();
        
        // 验证输出
        foreach (char item in result)
        {
            Console.WriteLine(item);
        }
    }
}

逻辑说明:

  • GroupBy(element => element):将相同元素归类到同一分组
  • Where(group => group.Count() == 1):过滤出仅包含单个元素的分组
  • Select(group => group.Key):提取分组对应的原元素
  • ToList():将结果转换为List类型

实现方式二:手动统计(无LINQ依赖)

如果项目限制使用LINQ,可以用字典手动统计元素出现次数,再筛选结果:

using System;
using System.Collections.Generic;

class Program
{
    static void Main()
    {
        List<char> input = new List<char> { 'A', 'A', 'B', 'B', 'B', 'C', 'D', 'E', 'E', 'F' };
        Dictionary<char, int> countMap = new Dictionary<char, int>();
        
        // 统计每个元素的出现次数
        foreach (char item in input)
        {
            if (countMap.ContainsKey(item))
            {
                countMap[item]++;
            }
            else
            {
                countMap[item] = 1;
            }
        }
        
        // 筛选仅出现一次的元素
        List<char> result = new List<char>();
        foreach (var kvp in countMap)
        {
            if (kvp.Value == 1)
            {
                result.Add(kvp.Key);
            }
        }
        
        // 验证输出
        foreach (char item in result)
        {
            Console.WriteLine(item);
        }
    }
}

逻辑说明:

  • 遍历输入列表,用字典记录每个元素的出现次数
  • 遍历字典,收集出现次数为1的元素

内容的提问来源于stack exchange,提问作者Rick

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 09:40:29