c# - 我应该如何使用集合?

标签 c# asp.net-mvc list entity-framework icollection

我有一个字符串列表,由来自数据库( Entity Framework )的查询填充:

 var accountIds = new List<string>();

现在我想将两个字符串列表添加到我的集合中,例如,我有这两个查询:

 using (var myketDB = new MyketReadOnlyDb())
            {
                if (!string.IsNullOrWhiteSpace(name))
                {
                    accountIds = myketDB.AppDevelopers
                        .Where(n => n.RealName.Contains(name))
                        .Select(e => e.Email).ToList();                  
                }                
                if (!string.IsNullOrWhiteSpace(email))
                {
                    accountIds = myketDB.Accounts
                      .Where(e => e.Mail.Contains(email))
                      .Select(e => e.Email).ToList();
                }                 
            }

因此对于此查询 accountIds 更改,我不希望这种情况发生。我想在 accountIds 中同时拥有这两个列表。像这样:

accountIds.add(//first query);
accountIds.add(//2nd query);

类似于联合的东西(我不想使用联合)。我是收藏列表的新手。非常感谢。

最佳答案

如果您想将多个项目添加到现有列表中,.AddRange 方法将为您完成此操作

accountIds.AddRange(myketDB.AppDevelopers
                        .Where(n => n.RealName.Contains(name))
                        .Select(e => e.Email).ToList());

accountIds.AddRange(myketDB.Accounts
                      .Where(e => e.Mail.Contains(email))
                      .Select(e => e.Email).ToList());

或者更简单地说,首先将查询结果收集到变量中,然后将这些结果添加到现有列表中,例如,

var appDevEmails = myketDB.AppDevelopers
                            .Where(n => n.RealName.Contains(name))
                            .Select(e => e.Email).ToList();

var accountsEmails = myketDB.Accounts
                          .Where(e => e.Mail.Contains(email))
                          .Select(e => e.Email).ToList();

accountIds.AddRange(appDevEmails);

accountIds.AddRange(accountsEmails);

进一步阅读:

List.AddRange(IEnumerable) Method

关于c# - 我应该如何使用集合?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55990663/

相关文章:

asp.net - 我应该为 web 使用静态 DbUtil 类吗,这有危险吗?

asp.net-mvc - 使用 jQuery ajax/load 提交数组参数

asp.net-mvc - 为什么 Asp.Net MVC 不在我的共享目录中搜索 View ?

java - 列表/数组中的不同类(全部扩展同一个类)(java)

c# - Debug.Print 与 Debug.WriteLine

c# - XmlElement 继承

c# - 子报表 RDLC 数据检索失败

c# - 如何在列表中使用 "Contain"?

python - 在 Python 中从另一个列表中减去一个列表

c# - 使用 Selenium C# 获取 Youtube 标题