如何按以下格式按姓氏对用户列表进行排序?
first.last
first.mi.last
const VisibleTodoList = connect(mapStateToProps, mapDispatchToProps)(TodoList);
按名字排序,这不是我想要做的。我是否需要使用RegEx?
答案 0 :(得分:5)
您可以使用ALTER TABLE ButlerSchedule
ADD ButlerID INT,
ADD CustID INT,
ADD CONSTRAINT fk_Butler_ButlerSchedule
FOREIGN KEY (ButlerID)
REFERENCES Butler(ButlerID),
ADD CONSTRAINT fk_ButlerCustomer_ButlerSchedule
FOREIGN KEY (CustID)
REFERENCES ButlerCustomer(CustID);
为用户订购:
Linq
如果您使用相同的姓氏,则可以按中间名命名用户。如果您有相同的中间名,您可以按名字订购用户:
using System.Linq;
mylist.OrderBy(x => x.LastName);
答案 1 :(得分:2)
假设您的名称是简单字符串(而不是具有FirstName和LastName属性的对象),如下所示:
var list = new List<string> { "c.a", "a.c" , "b"};
你可以点这样订购:
var orderedList = list.OrderBy(item => item.Split('.').Last());
输出:
c.a
b
a.c
答案 2 :(得分:0)
如果要对进行排序,请尝试指定比较器
mylist.Sort((left, right) => string.Compare(left.LastName, right.LastName));
如果mylist
包含string
项,则必须提取LastName
:
private static String LastName(string value) {
if (string.IsNullOrEmpty(value))
return value;
int p = value.LastIndexOf('.');
return value.SubString(p + 1);
}
...
mylist.Sort((left, right) => string.Compare(LastName(left), LastName(right)));