我有一个对象列表(字符串文件名、BitmapImage 图像)用作图像缓存。
private static readonly List<ImageData> imageCache = new List<ImageData>();
我创建了一个查找来在每次需要时检查此缓存中的图像。如果图像不在列表中,则将其添加到列表中。
Looked 是静态创建的
private static Lookup<string, ImageData> FileNameLookup = (Lookup<string, ImageData>)
imageCache.ToLookup(data => data.ImageFileName, data => data);
但是,除非我每次将元素添加到列表时都重新创建 FileNameLookup,否则 Lookup 永远不会返回具有相同文件名的对象。
public static void Reinit()
{
FileNameLookup = (Lookup<string, ImageData>) imageCache.ToLookup(data =>
data.ImageFileName, data => data);
}
如果列表的内容是静态的,是否应该只使用查找?我可以轻松使用字典,但想尝试查找。
干杯,
詹姆士