我有一个如下所示的类定义:
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
我想使用自定义排序过程按名称对它们进行排序,因为这涉及检查数据是否包含 a LastName
(在本例中使用 排序LastName
)或仅FirstLastName
(在本例中我将破坏字符串并在第二个词上排序,如果有的话,或者如果只有一个词,就对整个字符串进行排序。)
我不确定两件事:
- 我应该使用
IComparer
orIComparable
吗? - 一旦它确定了排序的顺序(我可以这样做),我该如何做到这一点,以便该方法的输出是一个表示
ObjectID
.