-3

我想知道是否有人可以告诉我或给我一个指南,告诉我如何按名称订购对象列表(键,名称),但名称是 LocalizedText 格式,也许我很愚蠢,但我无法订购此列表.

//Objects definied on my class:
    [DataMember]
    public virtual Guid ComplaintPreventableStateId { get; set; }
    [DataMember]
    public virtual LocalizedText Name { get; set; }


  //function that tries to get information:
 IList<ComplaintPreventableState> complaintPreventableList = new List<ComplaintPreventableState>();
        complaintPreventableList = (from c in ComplaintPreventableState.All select c).ToList();
   //Tried this two options:           
 complaintPreventableList.OrderByDescending(h => h.Name);
 complaintPreventableList.OrderBy(h => h.Name);
4

1 回答 1

0

我假设你有一个KeyValuePair(Of Integer, String)用于这个例子的列表,因为你不能有List()2 种类型的 a - 如果你也使用 aList(Of Object)也会一样。

        // Your list object
        Dim list As New List(Of KeyValuePair(Of Integer, String))

        // putting some values in the list
        list.Add(New KeyValuePair(Of Integer, String)(1, "Bob"))
        list.Add(New KeyValuePair(Of Integer, String)(1, "John"))
        list.Add(New KeyValuePair(Of Integer, String)(1, "Harry"))

        // Ordering your list by the Value
        list = list.OrderBy(Function(p) p.Value).ToList()

这会设置按名称排序的列表,即 Bob、Harry、John。

更新

因此,以您的代码为例,您需要更改:

     complaintPreventableList.OrderBy(h => h.Name);

对此:

     complaintPreventableList = complaintPreventableList.OrderBy(h => h.Name).ToList();

注意最后的电话.ToList()

就像我之前的例子一样;您需要将有序列表分配回自身

于 2012-11-27T20:01:48.820 回答