【发布时间】:2020-09-11 10:59:14
【问题描述】:
我有 C# 课 -
public class Availability
{
public ushort RegionId {get;set;}
}
那么,我有一个方法GetListOfClassesAsPerIterations(Availability xiAvailability)
我在此方法中有 List,我想在其中附加不同的 RegionId 值。
例如。 List 中的前 100 个元素 RegionId=1500 ,接下来的 100 个元素 RegionId=1400
但是发生的情况是,当我使用 RegionId=1500 添加列表中的前 100 个元素,然后尝试使用 RegionId=1400 添加列表中的下 100 个元素时,List 中的所有项目都变成 RegionId=1400。
我已经为它编写了代码 -
var lstAvailability = List<Availability>
for (int i = 0; i < 100; i++)
{
xiAvailability.RegionId = 1500;
lstAvailability.Add(xiAvailability);
}
for (int i = 0; i < 100; i++)
{
xiAvailability.RegionId = 1400;
lstAvailability.Add(xiAvailability);
}
在这里,我可以看到 RegionId 为 1400 的所有 200 个元素。 但相反,我希望前 100 个与 1500 一起,接下来的 100 个与 1400 一起。
还有什么选择?
【问题讨论】:
-
您的代码中在哪里定义了
xiAvailability?您正在为xiAvailability设置 RegionId,但将xiAvailabilitySearch添加到列表中 -
@zgood 编辑完成,那是错误的。
-
我认为你必须在循环的每次迭代中新建一个可用性......像这样:
var xiAvailability = new Availability();,然后设置 regionId 并添加到列表中。看起来你只是一遍又一遍地添加同一个
标签: c# asp.net .net asp.net-mvc