我有一个类定义是这样的:比较的对象,并返回列表
public class MyObjectModel
{
public int ObjectID { get; set; }
//for when the user's data is split in 2 fields
public string FirstName { get; set; }
public string LastName { get; set; }
//for when the user's data is all in one field
public string FirstLastName { get; set; }
}
我有这些MyObjectModel
的名单,我想,因为这涉及到检查,如果通过名称与自定义排序过程中对它们进行排序该数据包含LastName
(在这种情况下使用LastName
排序)或FirstLastName
(在这种情况下,我将打破字符串并对第二项进行排序,如果有的话,或者只有一个字,如果只有一个字)
我不确定两件事:
- 应该使用
IComparer
或IComparable
? - 一旦它确定排序的顺序(我可以做到这一点),我该如何做到这一点,以便该方法的输出是代表
ObjectID
的整数列表。
根据您使用的C#版本,您可以使用Linq对其进行排序。 –
对于精度,我使用的是c#4. – frenchie