使用LINQ從列表中刪除元素<T>假設(shè)我有LINQ查詢,例如:var authors = from x in authorsList where x.firstname == "Bob"
select x;鑒于authorsList是類型的List<Author>,如何刪除Author來自authorsList中的查詢返回的authors?或者,換句話說,我如何刪除所有的名字等于Bob從authorsList?注:為問題的目的,這是一個簡化的例子。
3 回答

海綿寶寶撒
TA貢獻(xiàn)1809條經(jīng)驗 獲得超8個贊
authorsList = authorsList.Where(x => x.FirstName != "Bob").ToList();
authorsList
RemoveAll
:
authorsList.RemoveAll(x => x.FirstName == "Bob");
var setToRemove = new HashSet<Author>(authors);authorsList.RemoveAll(x => setToRemove.Contains(x));

泛舟湖上清波郎朗
TA貢獻(xiàn)1818條經(jīng)驗 獲得超3個贊
var authorsList = new List<Author>(){ new Author{ Firstname = "Bob", Lastname = "Smith" }, new Author{ Firstname = "Fred", Lastname = "Jones" }, new Author{ Firstname = "Brian", Lastname = "Brains" }, new Author{ Firstname = "Billy", Lastname = "TheKid" }}; var authors = authorsList.Where(a => a.Firstname == "Bob"); authorsList = authorsList.Except(authors).ToList(); authorsList = authorsList.Except(authorsList.Where(a=>a.Firstname=="Billy")).ToList();
- 3 回答
- 0 關(guān)注
- 2375 瀏覽
添加回答
舉報
0/150
提交
取消