我应该如何使用 collection?
How should i use collection?
我有一个字符串列表,由来自数据库(实体框架)的查询填充:
var accountIds = new List<string>();
现在我想向我的 collection 添加两个字符串列表,例如,我有这两个查询:
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);
类似于联合的东西(我不想使用联合)。我是 collection 列表的新手。非常感谢。
如果您想将多个项目添加到现有列表,那么 .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);
进一步阅读:
我有一个字符串列表,由来自数据库(实体框架)的查询填充:
var accountIds = new List<string>();
现在我想向我的 collection 添加两个字符串列表,例如,我有这两个查询:
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);
类似于联合的东西(我不想使用联合)。我是 collection 列表的新手。非常感谢。
如果您想将多个项目添加到现有列表,那么 .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);
进一步阅读: