【C#】リスト処理
ObservableCollectionタイプを宣言し、コレクションの変更を記録しやすい
フィールドに基づいてグループ化、合計
新しいコレクションにデータを追加し、すでに追加したものは追加しません(重量除去)
private ObservableCollection<TManufOrdEx> _ManufOrdExList;
///
public ObservableCollection<TManufOrdEx> ManufOrdExList { get { return _ManufOrdExList; } set { _ManufOrdExList = value; RaisePropertyChanged(); } }
フィールドに基づいてグループ化、合計
List<TManufOrdEx> manufDisLineNos = manufOrdList.Where((x, i) => manufOrdList.FindIndex(z => z.sellConLineNo == x.sellConLineNo) == i).ToList();
sumKgs = manufDisLineNos.Sum(t => t.kgs);
新しいコレクションにデータを追加し、すでに追加したものは追加しません(重量除去)
List<TManufOrdEx> copyList = new List<TManufOrdEx>();
foreach (TManufOrdEx str in ManufOrdList)// LIST
{
if (copyList.Count > 0)
{
bool IsRepeat = copyList.Any<TManufOrdEx>(p => p.id == str.id);
if (IsRepeat)
{
continue;
}
else
{
copyList.Add(str);
}
}
else
{
copyList.Add(str);
}
}
ManufOrdList = new List<TManufOrdEx>();
ManufOrdList = copyList;