简体   繁体   English

如何从 C# 中的另一个列表中删除列表

[英]How To Remove List From Another List In C#

Here I have two list var userListFromFriendTable = mainService.GetUserFromFriend(ChattingUserName);这里我有两个列表var userListFromFriendTable = mainService.GetUserFromFriend(ChattingUserName); and var getAllUserFromMessageUserTable = mainService.GetalluserfromMessageUser();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.现在想要的是从getAllUserFromMessageUserTable列表的MessageUser table MessageUserName column中删除userListFromFriendTable列表的所有Friend table FriendRequestReceiverName column data

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; }
}

try this:尝试这个:

var names=userListFromFriendTable.Select(i=> i.FriendRequestReceiverName) 
  .OfType<string>()
 .ToArray();

getAllUserFromMessageUserTable.RemoveAll(r => names.Contains( r.MessageUserName );

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM