如何从C#中的另一个列表中删除列表 [英] How To Remove List From Another List In C#

查看:42
本文介绍了如何从C#中的另一个列表中删除列表的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

这里有两个列表 var userListFromFriendTable = mainService.GetUserFromFriend(ChattingUserName); var getAllUserFromMessageUserTable = mainService.GetalluserfromMessageUser(); 在下面给出.

现在,需要从 getAllUserFromMessageUserTable 的MessageUser表MessageUserName列的列表中删除 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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆