【发布时间】:2014-12-23 13:53:24
【问题描述】:
我有课
public class MyClass
{
public MyClass(int id, string name)
{
this.Id = id;
//Id = id;
this.Name = name;
}
public int Id { get; set; }
public string Name { get; set; }
}
我创建了一个 MyClass 类型的列表并在其中添加了一些项目
List<MyClass> lst = new List<MyClass>();
lst.Add(new MyClass(1, "Name1"));
lst.Add(new MyClass(2, "ab****cdefg"));
lst.Add(new MyClass(3, "he*llo"));
lst.Add(new MyClass(4, "pa**yed"));
lst.Add(new MyClass(5, "Names2"));
lst.Add(new MyClass(6, "hi******iiii"));
lst.Add(new MyClass(7, "so*me"));
lst.Add(new MyClass(8, "so**rt"));
lst.Add(new MyClass(9, "*"));
lst.Add(new MyClass(10, "**"));
lst.Add(new MyClass(11, "t*e*s*t"));
lst.Add(new MyClass(12, "t**e**s**t"));
我如何才能找到列表中名称字段中只有一个 * 和另一个列表中名称字段中两个 ** 的项目。我想通过 linq 或 regex 来做,也邀请任何其他好的选择。我尝试使用contains 方法,但得到了所有具有* 的项目。
var singlestar = lst.Where(x => x.Name.Contains("*")).ToList();
【问题讨论】:
-
你想要一个
ints 列表,代表与两个列表的条件都匹配的 ID? -
不,我想要
MyClass的列表 -
这真的没有意义。您将拥有 2 个
MyClass和不同的Names,一个拥有 1 个*,一个拥有 2 个*。你想要哪个MyClass -
@Jonesy : 我想要两个不同的列表
标签: c# asp.net regex asp.net-mvc-3