C# 将多个类列表添加到一个类列表中
我必须将多个列表合并到一个列表中。这个问题似乎很常见,但我的问题是可能会完全不同。 因为,我有三节课。我根据这些类创建了3个列表C# 将多个类列表添加到一个类列表中,c#,list,add,C#,List,Add,我必须将多个列表合并到一个列表中。这个问题似乎很常见,但我的问题是可能会完全不同。 因为,我有三节课。我根据这些类创建了3个列表 List<QTM> lstQTM = new List<QTM>(); List<QTMMain> lstQTMmain = new List<QTMMain>(); List<QTMStats> lstQTMStats = new List<QTMStats>(); qtmList = new
List<QTM> lstQTM = new List<QTM>();
List<QTMMain> lstQTMmain = new List<QTMMain>();
List<QTMStats> lstQTMStats = new List<QTMStats>();
qtmList = new QTMList();
qtmList.QTMMain=lstQTMmain;
qtmList.QTM=lstQTM;
qtmList.QTMStats=lstQTMStats;
我知道错误是
qtmList = new QTMList();
qtmList.QTMMain=lstQTMmain;
qtmList.QTM=lstQTM;
qtmList.QTMStats=lstQTMStats;
C#不可开票的“lstQTMlist.lstQTMmain”成员不能像
方法
qtmList = new QTMList();
qtmList.QTMMain=lstQTMmain;
qtmList.QTM=lstQTM;
qtmList.QTMStats=lstQTMStats;
等等
qtmList = new QTMList();
qtmList.QTMMain=lstQTMmain;
qtmList.QTM=lstQTM;
qtmList.QTMStats=lstQTMStats;
您能给我一些提示来解决我的问题吗?您应该使用设置
qtmList = new QTMList();
qtmList.QTMMain=lstQTMmain;
qtmList.QTM=lstQTM;
qtmList.QTMStats=lstQTMStats;
您可以尝试以下方法:
qtmList = new QTMList();
qtmList.QTMMain=lstQTMmain;
qtmList.QTM=lstQTM;
qtmList.QTMStats=lstQTMStats;
qtmList = new QTMList();
qtmList.QTMMain = new List<QTMStats>(lstQTMmain);
qtmList.QTM = new List<QTM>(lstQTM);
qtmList.QTMStats = new List<QTMMain>(lstQTMStats);
该错误是由您使用
QTMList
类字段的方式引起的。您正在使用
它们就像方法一样,即在括号内传递参数。这就是调用方法的方式。
为了给类的字段或属性赋值,只需使用=
运算符。
因此,您的代码可以简化为:
qtmList = new QTMList();
qtmList.QTMMain=lstQTMmain;
qtmList.QTM=lstQTM;
qtmList.QTMStats=lstQTMStats;
qtmList = new QTMList();
qtmList.QTMMain = new List<QTMMain>();
qtmList.QTM = new List<QTM>();
qtmList.QTMStats = new List<QTMStats>();
不能像方法那样调用属性,消息非常清楚
qtmList = new QTMList();
qtmList.QTMMain=lstQTMmain;
qtmList.QTM=lstQTM;
qtmList.QTMStats=lstQTMStats;
qtmList = new QTMList();
您不能这样做,例如:
qtmList.QTMMain(lstQTMmain)
qtmList = new QTMList();
qtmList.QTMMain=lstQTMmain;
qtmList.QTM=lstQTM;
qtmList.QTMStats=lstQTMStats;
您可以将1stQtMain
添加到qtmain
中,如下所示:
qtmList = new QTMList();
qtmList.QTMMain=lstQTMmain;
qtmList.QTM=lstQTM;
qtmList.QTMStats=lstQTMStats;
qtmList.QTMMain.AddRange(lstQTMmain)
您可以使用
AddRange
将对象列表添加到列表中。所有列表的长度都相同吗?@一般不,先生,这些长度是不同的,您可以这样分配:qtmList.QTMMain=lstQTMmain代码>还是必须克隆它(取消引用/创建重复值)?或者将新值添加到已存在的集合?@Jimi是正确的,我无法添加任何内容。消息会告诉您需要知道的一切。。。你像调用方法一样调用它,但它不是方法<代码>qtmList.QTM(lstQTM)代码>这是无效的c#。。。你的其他电话也晚了一点去看球赛。。。但是你是对的,把这些列表分配给用户拥有的东西怎么样?你能解释一下为什么你的解决方案对OP有效,以帮助澄清为什么他们的解决方案不起作用;这会增加价值。
qtmList = new QTMList();
qtmList.QTMMain=lstQTMmain;
qtmList.QTM=lstQTM;
qtmList.QTMStats=lstQTMStats;