[英]List to list conversion in C#
这个映射正确吗? 列表可以有多行
我很想知道列表中是否包含3行,并且所有3行都将被映射? 还是我们需要循环?
public List<Data> DataDetails { get; set; }
public static DataDetails ToDataConvert ( this Datadto data)
{
DataDetails = dto.DataDetails.Select(x => new Data()
{
Name = x.Name,
id = x.Id
})
.ToList()
}
我不知道这是从哪里来的dto
(dto.DataDetails)
dto.DataDetails
取决于您创建了多少行。
您的代码:
DataDetails = dto.DataDetails.Select(x => new Data
{
Name = x.Name,
id = x.Id
})
.ToList()
您的DataDetails
依赖于此public List<Data> DataDetails { get; set; }
public List<Data> DataDetails { get; set; }
public List<Data> DataDetails { get; set; }
的Data
列表
作为DataDetails
的结果,取决于这部分代码:
{
Name = x.Name,
id = x.Id
})
如果您的Data
类如下所示
public String Name {get;set;}
public int id{get;set;}
public String Address {get;set;}
这意味着您没有包括Data
类的Address
作为示例。 结果,您可以获得一个Address
但它返回空值。
现在,如果您的linq看起来像这样:
dto.DataDetails.ToList()
这将包括您想要获取的所有记录,但是您需要使用此类DataDetails
作为变量,例如:
VarFromDataDetailsClass = dto.DataDetails.ToList();
要么
var Result = dto.DataDetails.ToList();
似乎您想在c#中使用扩展方法并转换列表。 如果是这样,我建议您可以将转换后的列表用作方法的返回值。 我的扩展方法转换类型为List的对象
namespace ServiceInterface.Models
{
public static class ExtensionClass
{
public static List<Customer> ConvertCustomer(this List<Customer> customers)
{
return customers.Select(
c =>
new Customer
{
FirstName = c.FirstName + " " + c.LastName,
LastName = "",
Gender = c.Gender
}).ToList();
}
}
}
然后,您可以使用扩展方法编写如下。 请不要忘记导入扩展方法的名称空间。
using ServiceInterface.Models;
namespace consoleClient.Message_exe
{
class StringTest
{
static void Main(string[] args)
{
List<Customer> customers = new List<Customer>()
{
new Customer{LastName="a", FirstName="b"},
new Customer{LastName="c", FirstName="d"}
};
}
}
结果。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.