このようなことをする
public Multime<T> Difference(Multime<T> list)
{
Multime<T> diff = new Multime<T>();
for (int i = 0; i < list.Multisets.Count() - 1; i++)
{
foreach (T el in list.multiSets[i].Multimea)
{
if (!(list.multiSets[i + 1].Multimea.Exists(element => EqualityComparer<T>.Default.Equals(element, el))))
diff.Multimea.Add(el);
}
list.multiSets[i + 1] = diff;
if (i < list.multiSets.Count() - 1)
diff.Multimea.RemoveAll(item => EqualityComparer<T>.Default.Equals(item, item));
}
...
もクリアされdiff.Multimea.RemoveAll(item => EqualityComparer<T>.Default.Equals(item, item));
た後。list.multiSets[i + 1]
どうすればこれを解決できますか?このように接続されないように、list.multiSets[i + 1]
クリアされたくありません。
public Multime<T> this[int index]
{
get { return this.multiSets[index]; }
set { this.multiSets[index] = value; }
}
これが役立つ場合はインデクサーです:)