我想知道是否有人可以告诉我或者如何指导我如何按名称订购objet列表(密钥,名称),但名称是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);
答案 0 :(得分:0)
我假设你有一个KeyValuePair(Of Integer, String)
的列表,因为你不能拥有2个类型的List()
- 如果你使用的是{{1},那就相同了也是。
List(Of Object)
这将按名称设置列表,这将成为Bob,Harry,John。
<强>更新强>
因此,以您的代码为例,您需要更改此内容:
// 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()
对此:
complaintPreventableList.OrderBy(h => h.Name);
请注意最后的电话 complaintPreventableList = complaintPreventableList.OrderBy(h => h.Name).ToList();
。
如前面的例子;你需要将有序列表分配给自己