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

如何在C#中使用逗号分隔值搜索List集合

根据逗号分隔字符串筛选List元素

实现思路

  • 先把逗号分隔的搜索字符串拆成名称集合,顺便处理可能存在的空格,避免因空格导致匹配失败
  • 用LINQ的Where搭配Contains方法,从学生列表里筛出名称匹配的元素

完整代码示例

先补上Student类的定义(如果还没定义的话):

public class Student
{
    public int Id { get; set; }
    public string Name { get; set; }

    // 重写ToString方便直接输出结果格式
    public override string ToString()
    {
        return $"{{Id = {Id}, Name=\"{Name}\"}}";
    }
}

然后是核心筛选逻辑:

var students = new List<Student>() { 
    new Student(){ Id = 1, Name="One"},
    new Student(){ Id = 2, Name="Two"},
    new Student(){ Id = 3, Name="Three"},
    new Student(){ Id = 4, Name="Four"},
    new Student(){ Id = 5, Name="Five"}
};

var searchString = "Two,Three";

// 分割搜索字符串,清理空项和多余空格
var searchNames = searchString.Split(',')
                              .Select(name => name.Trim())
                              .Where(name => !string.IsNullOrEmpty(name))
                              .ToList();

// 筛选匹配的学生
var matchedStudents = students.Where(s => searchNames.Contains(s.Name)).ToList();

// 输出结果
foreach (var student in matchedStudents)
{
    Console.WriteLine(student);
}

运行结果

{Id = 2, Name="Two"}
{Id = 3, Name="Three"}

额外说明

  • 如果搜索字符串里带空格(比如"Two, Three"),Trim()会自动去掉名称前后的空格,保证匹配精准
  • Where(name => !string.IsNullOrEmpty(name))可以过滤掉分割后出现的空字符串(比如搜索串开头/结尾带逗号的情况)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 08:06:16