我有一个收藏夹,我正在尝试使用Distinct方法删除重复项。

public static Collection<MediaInfo> imagePlaylist

imagePlaylist = imagePlaylist.Distinct(new API.MediaInfoComparer());

我收到错误消息“无法将类型'System.Collections.Generic.IEnumerable'隐式转换为'System.Collections.ObjectModel.Collection'。存在显式转换(是否缺少转换?)”

imagePlaylist曾经是一个列表(我可以使用.ToList()),但是为了符合“CA1002不要公开通用列表”,我想将列表转换为集合。

-谢谢

最佳答案

您可以做的是,首先将IEnumrable转换为通用列表,然后使用Collection类的参数化构造函数使用此列表创建新的Collection

public static Collection<MediaInfo> imagePlaylist

imagePlaylist = new Collection<MediaInfo>
                    (
                       imagePlaylist
                      .Distinct(new API.MediaInfoComparer())
                      .ToList()
                    );

09-28 07:41