有没有办法在c#中向新列表添加两种不同的类型?

有没有办法在c#中向新列表添加两种不同的类型?,c#,entity-framework-core,C#,Entity Framework Core,我试图将两个列表添加到一起,但它们都是不同类型的,有没有办法做到这一点 我的两份清单 var customer = _context.GetInsuredData.FromSqlRaw("Execute dbo.GetDataID {0}", id).ToList(); var vehicle = _context.GetVehicleData.FromSqlRaw("Execute dbo.GetDataVehicle {0}", id).ToList(

我试图将两个列表添加到一起,但它们都是不同类型的,有没有办法做到这一点

我的两份清单

var customer = _context.GetInsuredData.FromSqlRaw("Execute dbo.GetDataID {0}", id).ToList();
var vehicle = _context.GetVehicleData.FromSqlRaw("Execute dbo.GetDataVehicle {0}", id).ToList();
我的背景:

 public virtual DbQuery<Insured> GetInsuredData { get; set; }
 public virtual DbQuery<Vehicle> GetVehicleData { get; set; }
公共虚拟数据库查询GetInsuredData{get;set;} 公共虚拟数据库查询GetVehicleData{get;set;} 是的,这是可能的

选项1-让类实现公共接口(或继承公共基类):

…然后使用具有接口通用类型的列表:

var list = new List<ICommonInterface>();
objectList.AddRange(insureds);
objectList.AddRange(vehicles);

您可能需要重新思考为什么要这样做。这些课程有共同点吗?然后使用接口/基类选项。如果没有,将不同类型的对象添加到同一列表的原因是什么?您实际试图解决的问题可能与此问题无关。

更好的问题是,为什么您需要将
投保
车辆
放在一个列表中?@TiesonT.-每次有人这样建议我都会畏缩。希望OP不会沿着这条路走下去。我怀疑他们是否真的理解这里的含义。对于这样的问题,这似乎是一个相当常见的初学者错误。我完全同意这种方法不会有用。不,你不能那样做。列表定义为单一类型的集合。如果这两种类型具有公共基或接口,则可以将列表定义为该类型的集合,然后将两个派生类型添加到其中。您的意思是要将每个列表中的值关联在一起吗?就像每辆车都有一个匹配的被保险人吗?简短的回答是:没有,除非这些类别以某种方式相关(例如公共基类)。如果不是,其他方法(例如使用<代码>对象< /代码>)可能只是杂乱无章的解决办法。你这样做是自找麻烦。您可能想退一步,重新思考代码的设计。99%的情况下,直接使用
对象
类型实际上并不是您想要的。
var list = new List<ICommonInterface>();
objectList.AddRange(insureds);
objectList.AddRange(vehicles);
var list = new List<object>();
list.AddRange(insureds);
list.AddRange(vehicles);