为什么我的int []类型的属性设置为null?
问题描述:
希望我刚刚做了一些愚蠢的事情,但我得到一个int数组,并且我想将它分配给一个属性 - 但即使int数组不是null,当我将它分配给属性时,它也是null。请注意,这是分解成几个陈述,因为我测试我的选择语句工作正常。为什么我的int []类型的属性设置为null?
int[] placementslist = selfSelPlacements.Select(p => p == null ? 0 : p.PlacementId).ToArray<int>();
我已经试过
UnitOfferingListCriteria.Placements = new int[placementslist.Length];
以及刚刚分配
UnitOfferingListCriteria.Placements = placementslist;
但UnitOfferingListCriteria.Placements总是尽管有1项placementslist空。
在我的类属性
public int[] Placements { get; set; }
如果有人能指出我在做什么错了 - 谢谢!
编辑 - 谢谢你的建议,被其他东西淹没了,所以还没有机会回到它呢。
答
public int[] Placements { get; set; }
将具有默认值null。
是UnitOfferingListCriteria
类或类的实例吗?看起来你正在做一些静态属性?或者你正在访问一个物业的财产?
答
这对我的作品
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; }
}
你有什么不同?
答
您尝试在属性中引用的实例在执行时不能为null。这是显而易见的,但有时显而易见的是显而易见的。
你能发布一个完整的程序来演示问题吗? – Ani 2011-01-13 05:22:12
你的财产真的只是`Placements {get;组; ``,或者你有没有发布的实际获取者和设置者?如果是后者,你的二传手可能只是坏了。 – Gabe 2011-01-13 05:46:02