2011-01-13 131 views
0

希望我刚刚做了一些愚蠢的事情,但我得到一个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; } 

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

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

+2

你能发布一个完整的程序来演示问题吗? – Ani 2011-01-13 05:22:12

+0

你的财产真的只是`Placements {get;组; ``,或者你有没有发布的实际获取者和设置者?如果是后者,你的二传手可能只是坏了。 – Gabe 2011-01-13 05:46:02

回答

0
public int[] Placements { get; set; } 

将具有默认值null。

UnitOfferingListCriteria类或类的实例吗?看起来你正在做一些静态属性?或者你正在访问一个物业的财产?

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; } 
} 

你有什么不同?

0

您尝试在属性中引用的实例在执行时不能为null。这是显而易见的,但有时显而易见的是显而易见的。

相关问题