【发布时间】:2020-09-29 04:19:26
【问题描述】:
public class foo {
int ID { get; set; }
byte[] sort { get; set; }
}
public class barMaster {
public void FooSource() {
return List<foo> FromDataSource;
}
public void display() {
List<foo> sortedFoo = FooSource().OrderBy(f => f.sort);
UIElement = sortedFoo;
}
我有一组包含我想要 OrderBy 的 byte[] 属性的对象,但是 OrderBy(byte[]) 会引发错误:
System.ArgumentException: At least one object must implement IComparable.
我可以对 OrderBy byte[] 值做什么?
【问题讨论】:
-
你必须实现接口ICompareble并为订单创建你自己的函数
-
那么如果
f1有f1.sort == { 3, 201, 25, }和f2有f2.sort == { 3, 29, 7, 222, 0, }哪个更大,f1或f2,为什么? -
就我的目的而言,f1 将被认为大于 f2,因为 201 > 29。我可以理解为什么从“正确行为”的角度来看,这将是难以融入框架的行为。