我正在编写一个超级简单的聊天应用程序,我将把两个用户A和B之间的聊天记录存储为纯文本文件。每个用户都有一个唯一的ID,所以我认为我可以连接两个用户的ID来创建一个新的字符串作为文件名。然后,如果一个用户登录我的应用程序并想要与另一个用户检索他的对话历史记录,则他有两个ID来获取文件名。
问题是在进行连接时两个ID的顺序,似乎我必须先对它们进行排序,这样无论用户A或用户B想要获取聊天文件名,它总是相同的顺序。
还有其他方法,所以我不需要先对这两个字符串进行排序吗?
答案 0 :(得分:1)
您可以使用简单的比较,因为只涉及两个ID。
string GetId(string a, string b) {
// Use some separator that's not part of the IDs or you risk mixing up file names from a different pair of User IDs.
string sep = ":";
if (a < b) {
return a + sep + b;
} else {
return b + sep + a;
}
}