我有以下代码:
public class MyObject {
public string Name { get; set; }
public MyObject(string name) {
Name = name;
}
}
// caller method somewhere
public void myMethod() {
List<MyObject> myObjects = new List<MyObject>();
myObjects.Add(new MyObject("Jim"));
myObjects.Add(new MyObject("David"));
myObjects.Add(new MyObject("Richard"));
myObjects.Add(new MyObject("Steve"));
string[] namesToExclude = new string[] { "Jim", "Steve" };
List<string> strings = myObjects.Select(m => m.Name).Except(namesToExclude).ToList();
// replace the above line to result in List<MyObject> with 2 items (David, Richard)
}
Run Code Online (Sandbox Code Playgroud)
我想让最后一行工作,所以我可以把这个列表作为一个List<MyObject>而不是一个List<string>.
试试这个:
var objects =
myObjects.Where(m => !namesToExclude.Contains(m.Name)).ToList();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2109 次 |
| 最近记录: |