私は個々のデータを持っている5つの変数を持っています。それから、それぞれの課金ボリュームを1つの変数に連結しています。これは正常に動作します。連想リストのヌルチェック
ここでは、チャージボリュームが他の変数のためnullであるため、データが1つしかない(var CCPcv
にデータがあります)残りのデータにはデータがないと仮定して、var CombinedPcv
改行が行われます。 n個のシナリオがあります(2つはデータ、3つはデータなど)。
1つのアプローチでは、個々の変数をNULL値としてチェックしてから、変数の組み合わせに対してヌルチェックを行います。
より良いアプローチを提案してください。ここで
var CCPcv = (GuidedPcvYear1CCViewModel)wizard.Steps[est bettgwizard.OrderedSteps[typeof(GuidedPcvYear1CCViewModel)]];
var CPCPcv = (GuidedPcvYear1CPCViewModel)wizard.Steps[wizard.OrderedSteps[typeof(GuidedPcvYear1CPCViewModel)]];
var VpayPcv = (GuidedPcvYear1VPAViewModel)wizard.Steps[wizard.OrderedSteps[typeof(GuidedPcvYear1VPAViewModel)]];
var BIPPcv = (GuidedPcvYear1BIPViewModel)wizard.Steps[wizard.OrderedSteps[typeof(GuidedPcvYear1BIPViewModel)]];
var GnicsCCPcv = (GuidedPcvYear1CCGnicsViewModel)wizard.Steps[wizard.OrderedSteps[typeof(GuidedPcvYear1CCGnicsViewModel)]];
var CombinedCV = CCPcv.ChargeVolumes.ConvertAll(cv=>cv).Concat(CPCPcv.ChargeVolumes.ConvertAll(x=>x).Concat(VpayPcv.ChargeVolumes.ConvertAll(z=>z).Concat(BIPPcv.ChargeVolumes.ConvertAll(a=>a).Concat(GnicsCCPcv.ChargeVolumes.ConvertAll(s=>s)))));
year1ChargeVolumes = CombinedCV.ToList();
あなたはヌルチェックと* Concat *を行い、すべての変数/コレクションにそれを再利用する独自の拡張メソッド*を書くことができます – bit
上記の例を挙げてもらえますか? – user662285
'ConvertAll'とネストされた' Concat'sはどういったものですか?あなたの列挙型が決してヌルではなく、次々と連結していることを確かめてください。 – Luaan