为什么我的int []类型的属性设置为null?

时间:2011-01-13 05:19:53

标签: c# .net

希望我刚刚做了一些愚蠢但我得到一个int数组并且我想将它分配给一个属性 - 但即使int数组不是null,当我将它分配给属性时它是null。请注意,当我测试我的select语句正常工作时,这被分成几个语句。

int[] placementslist = selfSelPlacements.Select(p => p == null ? 0 : p.PlacementId).ToArray<int>();

我试过了

UnitOfferingListCriteria.Placements = new int[placementslist.Length];

以及仅指定

UnitOfferingListCriteria.Placements = placementslist;

但是,尽管placementslist有1个项目,但UnitOfferingListCriteria.Placements始终为空。

在我的课堂上

public int[] Placements { get; set; }

如果有人能够指出我做错了什么 - 谢谢!

编辑 - 感谢您的建议,被其他东西淹没,所以还没有机会回到它。

3 个答案:

答案 0 :(得分:1)

这对我有用

int[] placementslist = selfSelPlacements.Select(p => p == null ? 0 : p.PlacementId).ToArray<int>();
UnitOfferingListCriteria.Placements = new int[placementslist.Length];
placementslist.CopyTo(UnitOfferingListCriteria.Placements, 0);

和班级

public class UnitOfferingListCriteria
{
    public static int[] Placements{ get; set; }
}

你有什么不同的吗?

答案 1 :(得分:0)

public int[] Placements { get; set; }

的默认值为null。

UnitOfferingListCriteria是类还是类实例?看起来你正在做一些静态属性?或者您正在访问房产上的房产?

答案 2 :(得分:0)

当您执行此操作时,您尝试在该属性中引用的实例不能为null。这是显而易见的,但有时显而易见的是非常明显。