如何将预测结果复制到c#中的另一个变量中?
下面的代码无法运行,因为它抱怨我试图将类型Anon添加到客户机类型中。在最初投影某些结果并丢失原始类型后,如何将其存储在另一个变量中 (注:我已经把我的例子简单化了,但实际上我正在处理一个更复杂的案例。在我的实际案例中,不投射不是一个选项。编辑以提供澄清。)如何将预测结果复制到c#中的另一个变量中?,c#,linq,types,linq-to-sql,C#,Linq,Types,Linq To Sql,下面的代码无法运行,因为它抱怨我试图将类型Anon添加到客户机类型中。在最初投影某些结果并丢失原始类型后,如何将其存储在另一个变量中 (注:我已经把我的例子简单化了,但实际上我正在处理一个更复杂的案例。在我的实际案例中,不投射不是一个选项。编辑以提供澄清。) var clients=clients.Where(c=>c.FirstName.StartsWith(“Mark”)) .选择(c=>new{ LastName=c.LastName.ToUpper(), c、 已添加日期, c、 名字,
var clients=clients.Where(c=>c.FirstName.StartsWith(“Mark”))
.选择(c=>new{
LastName=c.LastName.ToUpper(),
c、 已添加日期,
c、 名字,
})
.ToList();
var certainClients=新列表{};
foreach(客户机中的var客户机)
{
如果(client.DateAdded.Date
有两种选择
首先。使用Clients
datatype,而不是使用anon数据类型。实际上,您正在创建客户端
对象-
var clients = Clients.Where(c => c.FirstName.StartsWith("Mark"))
.Select(c => new Clients{
LastName = c.LastName.ToUpper(),
c.DateAdded,
c.FirstName,
})
第二。创建对象的列表
并为其指定任何自定义/非自定义数据类型-
var certainClients = new List<object> { };
var certainClients=新列表{};
最好的方法是投影到自定义业务实体类。
这意味着我们实际上是自己定义类的。比如说
public class ClientEntity
{
public string LastName;
public DateTime DateAdded;
// etc for custom fields or properties you want
}
然后我们可以简单地投影到我们定制的类
var clients = Clients.Where(c => c.FirstName.StartsWith("Mark"))
.Select(c => new ClientEntity{
LastName = c.LastName.ToUpper(),
DateAdded = c.DateAdded,
etc
})
这样就避免了列表
,因为它不是类型安全的,并且不需要与原始客户机类相似,例如,如果我们想要原始名称的长度。完美<代码>新列表{}代码>在我的情况下非常有效。谢谢
var clients = Clients.Where(c => c.FirstName.StartsWith("Mark"))
.Select(c => new ClientEntity{
LastName = c.LastName.ToUpper(),
DateAdded = c.DateAdded,
etc
})