如何匹配linq中有逗号分隔的多个整数值的列? [英] How to match a column which has multiple integer values separated by commas in linq?

查看:82
本文介绍了如何匹配linq中有逗号分隔的多个整数值的列?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

HI伙计们,



我有列表,其中我有多个整数值的列(以逗号分隔)。

HI guys,

I have list, in which i have column with multiple integer values(separated by commas).

eg:
------------------------
| Program | Module      |
------------------------
| I       | 1,2,3       |
------------------------
| II      | 2, 3        |
------------------------
| III     | 1,3         |
------------------------





现在,如果我想选择模块为2的程序,请说明。



我尝试了什么:





Now, supppose, if i want to select programs where module is 2.

What I have tried:

int sid = 2;
IEnumerable<int> ids = Program.All.FindAll( item => sid.contains(item.Module.Split(',').Select(s => (int)s) // getting error: cannot convert string to int





任何人都可以帮助我。





谢谢



Can any one plz help me.


Thanks

推荐答案

试试这个



try this

List<Prog> lst = new List<Prog> ();
     lst.Add( new Prog(){ Program_ = "I", Module =  "1,2,3"});
     lst.Add( new Prog(){ Program_ = "II", Module =  "2,3"});
     lst.Add( new Prog(){ Program_ = "III", Module =  "1,3"});


     int find = 2;

   IEnumerable<string> programs =   lst.Where(k => k.Module.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).Select(a => Convert.ToInt32(a)).Contains(find)).Select(x => x.Program_).ToList();







public class Prog
  {
      public string Program_ { get; set; }
      public string Module { get; set; }
  }


这篇关于如何匹配linq中有逗号分隔的多个整数值的列?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆