问题出现在这里.一个密钥应由几个不同的位图(即值)表示.如何将多个位图添加到字典中,以表示相同的键?
这就是我使用字典的方式:
Dictionary<string,Bitmap> lookup = new Dictionary<string,Bitmap>(); lookup.Add("A",new Bitmap(@"C:\letters\a1.bmp",true)); lookup.Add("A",new Bitmap(@"C:\letters\a2.bmp",true)); // Error will be here,because key A already exists for one Bitmap value. lookup.Add("a",new Bitmap(@"C:\letters\aa1.bmp",true)); lookup.Add("B",new Bitmap(@"C:\letters\b1.bmp",true));
现在,抓住图像和价值,我做了以下:
var target = lookup.ToList();bitmap b1 = target[j].Value; //grab value//if value = cropped bitmap => proceedstring key = target[j].Key; //grab key
这个过程将如何根据您的解决方案而变化?
附:我听说过“System.linq.Lookup(Of TKey,TElement)”,但从未使用过它.这个“查找”会帮助我解决我的问题,还是一个完全不同的工具?谷歌也不太了解它,所以欢迎一个例子
请注意,我在程序启动时只加载一次字典,所以加入的速度并不重要.
另一方面,查找是最困扰我的.我的两个词典中有120个元素,根据这篇文章http://www.dotnetperls.com/dictionary-time – List中的Lookup比字典中的查找慢得多.
无论如何,我将采取一些措施来测试下面建议的List解决方案 – 与我现在拥有的Dictionary解决方案进行比较并稍后告诉结果,可能是今晚.
解决方法 Lookup.它基本上是值列表的键的字典,而不是键值.lookup.Add("a","123"); // creates 'a' key and adds '123' to itlookup.Add("a","456"); // adds '456' to existing 'a' keylookup.Add("b","000"); // creates 'b' key and adds '000' to it总结
以上是内存溢出为你收集整理的使用C#为字典中的一个键添加多个位图值全部内容,希望文章能够帮你解决使用C#为字典中的一个键添加多个位图值所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)