【发布时间】:2014-02-23 02:41:00
【问题描述】:
我有三个收藏:
private ICollection<FPTAssetClassAsset> wrassets;
private ICollection<FPTFundAsset> wrfunds;
private ICollection<FPTManagedStrategyAsset> wrstrats;
如果 foreach 循环返回 0 个对象,则集合不会被设置,因此为 null。 当我将此收藏(联合)添加到另一个收藏时,它失败并显示:“值不能为空”,因为收藏为空,而不是空。如何将此集合设置为空?
循环:
public void GetWrapperAssets(FPT fpt)
{
foreach (var w in fpt.CouttsPositionSection.Wrappers
.Union(fpt.StandAloneSection.Wrappers)
.Union(fpt.BespokePropositionSection.Wrappers)
.Union(fpt.NonCouttsPositionSection.Wrappers)
)
{
foreach (var a in w.UnderlyingAssets.OfType<FPTManagedStrategyAsset>())
{
wrstrats.Add(a);
}
foreach (var a in w.UnderlyingAssets.OfType<FPTAssetClassAsset>())
{
wrassets.Add(a);
}
foreach (var a in w.UnderlyingAssets.OfType<FPTFundAsset>())
{
wrfunds.Add(a);
}
}
}
【问题讨论】:
-
将每一个初始化为 = new Collection<...>()
标签: c# icollection