C# 如何在C中对资源集进行排序#

C# 如何在C中对资源集进行排序#,c#,resources,asp.net-3.5,C#,Resources,Asp.net 3.5,我有一个名为filetypes.resx的资源文件。我知道如何将资源值绑定到dropdownlist,但我不知道如何对ResourceSet的值进行排序 这是我到目前为止所做的 FileTypes.resx 名称、值 A、 一, B、 二, C、 三, 绑定dropdownlist的代码 结果 非常感谢:)资源集有,类型为。也许您可以从该表中生成一个排序列表(手动或使用LINQ),然后将此列表分配给DropDownList1。DataSource哈希表不是一个排序的集合。Resource集合

我有一个名为filetypes.resx的资源文件。我知道如何将资源值绑定到dropdownlist,但我不知道如何对ResourceSet的值进行排序

这是我到目前为止所做的

FileTypes.resx

  • 名称、值
  • A、 一,

  • B、 二,

  • C、 三,

绑定dropdownlist的代码

结果


非常感谢:)

资源集
有,类型为。也许您可以从该表中生成一个排序列表(手动或使用LINQ),然后将此列表分配给
DropDownList1。DataSource

哈希表不是一个排序的集合。

Resource集合有一个IDictionaryEnumerator,因此我猜它的项属于DictionaryEntry类型,请尝试对数据源进行如下排序:

DropDownList1.DataSource = Resources.FileTypes.ResourceManager
    .GetResourceSet(System.Globalization.CultureInfo.CurrentCulture, true, true)
    .OfType<DictionaryEntry>()
    .OrderBy(i => i.Value);
DropDownList1.DataSource=Resources.FileTypes.ResourceManager
.GetResourceSet(System.Globalization.CultureInfo.CurrentCulture,true,true)
第()类
.OrderBy(i=>i.Value);

嗯,我没有打开visual studio,所以如果它不能立即工作,请不要责怪我:)

尽管此代码可能会回答这个问题,但提供有关为什么和/或如何回答这个问题的附加上下文将显著提高其长期价值。请编辑您的答案以添加一些解释。 A C B
As you can see the result is not sorted. Please help me to solve this issue.
DropDownList1.DataSource = Resources.FileTypes.ResourceManager
    .GetResourceSet(System.Globalization.CultureInfo.CurrentCulture, true, true)
    .OfType<DictionaryEntry>()
    .OrderBy(i => i.Value);

Hashtable tbl = Resources.FileTypes.ResourceManager.
GetResourceSet(System.Globalization.CultureInfo.CurrentCulture, true, true).Table;
List source = new List(tbl.Values);
source.Sort();
DropDownList1.DataSource = source;
DropDownList1.DataBind();