You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将List<c1>中的指定字段复制到List<c2>?

解决方案

你的代码无法运行的核心原因是:LINQ查询返回的是匿名类型集合,和List<c2>类型不兼容,不能直接赋值。需要显式创建c2类的实例并映射字段,再转换为List<c2>。

以下是两种可行的实现方式:

方法1:使用方法语法(推荐)

假设你的c1集合实例名为c1List,代码如下:

List<c2> c2list = c1List.Select(a => new c2
{
    id = a.id,
    firstname = a.firstname
}).ToList();

方法2:使用查询表达式语法

如果习惯LINQ查询表达式的写法,也可以这样写:

List<c2> c2list = (from a in c1List
                   select new c2
                   {
                       id = a.id,
                       firstname = a.firstname
                   }).ToList();

关键说明

  • 必须在select中直接创建c2的实例,而非匿名类型,确保类型匹配。
  • 调用ToList()方法将LINQ的延迟查询结果转换为List<c2>实例。
  • 注意替换代码中的c1List为你实际的List<c1>集合变量名。

内容的提问来源于stack exchange,提问作者Vihasi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 20:36:23