本文介绍了如何匹配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
推荐答案
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中有逗号分隔的多个整数值的列?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!