如何从 C# 中的另一个列表中删除列表 [英] How To Remove List From Another List In C#
问题描述
这里我有两个列表 var userListFromFriendTable = mainService.GetUserFromFriend(ChattingUserName);
和 var getAllUserFromMessageUserTable = mainService.GetalluserfromMessageUser();
其实现是下面给出.
现在想要的是从 getAllUserFromMessageUserTable
的 MessageUser 表 MessageUserName column
中删除 userListFromFriendTable
列表的所有 Friend 表 FriendRequestReceiverName 列数据
代码>列表.
任何帮助都会被磨碎
Here I have two list var userListFromFriendTable = mainService.GetUserFromFriend(ChattingUserName);
and var getAllUserFromMessageUserTable = mainService.GetalluserfromMessageUser();
whose implementation are
given below.
Now what is want is to remove all the Friend table FriendRequestReceiverName column data
of userListFromFriendTable
list from MessageUser table MessageUserName column
of getAllUserFromMessageUserTable
list.
Any help will be grate
public List<Friend> GetUserFromFriend(string chattingUserName)
{
var checkUser = uow.Repository<Friend>().FindBy(x => x.FriendRequestSenderName.ToLower() == chattingUserName.ToLower()).ToList();
return checkUser;
}
public List<MessageUser> GetalluserfromMessageUser()
{
var checkUser = uow.Repository<MessageUser>().GetAll().ToList();
return checkUser;
}
public class Friend
{
public int FriendId { get; set; }
public string FriendRequestSenderName { get; set; }
public string FriendRequestReceiverName { get; set; }
public int IsConfirmed { get; set; }
}
public class MessageUser
{
public int Id { get; set; }
public string MessageUserName { get; set; }
public int IsFriend { get; set; }
}
推荐答案
试试这个:
var names=userListFromFriendTable.Select(i=> i.FriendRequestReceiverName)
.OfType<string>()
.ToArray();
getAllUserFromMessageUserTable.RemoveAll(r => names.Contains( r.MessageUserName );
这篇关于如何从 C# 中的另一个列表中删除列表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!