Clear()代わりに使用できるすべてのアイテムを削除するメソッドがあります。
Clearの代わりになぜそれらが使用されたのかを推測するのを危険にさらす必要がある場合、それは、アイテムが単にクリアされていることを示しながら、コレクションからアイテムを削除しているという提案を持っているRemoveAllためだと思います。RemoveAllClear
CollectionChangedこれにより、発生する通知の種類が異なります。Clear()イベントを発生させNotifyCollectionChangedAction.Reset、削除されたアイテムをイベントに含めない一方で、イベントを発生さRemoveせNotifyCollectionChangedAction.Removed、削除されたアイテムをイベントに渡します。
CollectionChanged複数のアイテムを含むイベントを発生させることはできないため、NotifyCollectionChangedAction.Removedすべてのアイテムを削除してイベントを発生させると例外がスローされます。別の方法は、CollectionChanged削除されたすべてのアイテムに対してイベントを発生させることです。これは、パフォーマンスにかなり悪影響を与える可能性があります。また、単にイベントを発生さNotifyCollectionChangedAction.Resetせると、ユーザーがアイテムを削除するときにイベントが発生することを期待しているときに、混乱が生じる可能性がありRemovedます。
だから、名前が舞台裏で実際に起こっていることをよりよく説明しているので、彼らは.Clear()代わりに単に使用することに決めたと私は推測しています。.RemoveAll()