从资源C#按字母顺序排列位图数组

时间:2014-11-19 19:51:34

标签: c# resx

我一直在尝试用C#对这个位图数组进行按字母顺序排列,因为资源没有在resx文件中按字母顺序排列。

我已使用此代码将资源获取到数组

var resourceSet = Properties.Resources.ResourceManager.GetResourceSet(System.Globalization.CultureInfo.CurrentUICulture, true, true);
System.Drawing.Bitmap[] imageArray = resourceSet.OfType<DictionaryEntry>()
    .Select(i => (System.Drawing.Bitmap)i.Value)
    .ToArray();

1 个答案:

答案 0 :(得分:0)

您的问题是在Select中,您丢失了要排序的Key。使用匿名类型或新类来保留名称和图像:

var imageArray = resourceSet
                     .OfType<DictionaryEntry>()
                     .Select(d => 
                         new
                         {
                            Name = d.Key.ToString(), 
                            Image = (Bitmap)d.Value
                         })
                      .OrderBy(d => d.Name);
                      .ToArray();