我目前在WebAPI上爲對話系統工作(作爲學校項目)。它基本上是兩個用戶之間的郵箱。包含在int數組中
添加新消息時,我想檢查兩個用戶是否已經彼此交談。目前所有內容都是作爲變量存儲在內存中的(這隻適用於學校,以後可以改進)。
我的模式是這樣的:
public class Conversation
{
public int Id { get; set; }
public int[] Users { get; set; }
public DateTime Created { get; set; }
public DateTime Updated { get; set; }
public List<Message> Messages { get; set; }
public static List<Conversation> listeConversation = new List<Conversation>
{
new Conversation {
Id = 1, Users = new int[2] {1, 2}, Messages = new List<Message> {
new Message { Id = 1, UserId = 1, Content = "Bonjour", Created = DateTime.Now},
new Message { Id = 2, UserId = 2, Content = "Comment ça va ?", Created = DateTime.Now},
new Message { Id = 3, UserId = 1, Content = "Très bien et toi ?", Created = DateTime.
}
};
}
在我的方法,我收到發送者和接收者ID。我想創建一個新的方法來檢查會話列表是否已包含這兩個用戶之間的一個會話,但我真的不知道該怎麼做。
我想我必須使用Contains,但我真的不知道如何在數組中使用它。我試過這樣的:
private Conversation getConversationFromUsers(int[] users)
{
Conversation.listeConversation.Where(c => c.Users.Contains(users));
}
但它不工作。
您是否想要在這些用戶或這兩個用戶參與的任何對話之間進行任何對話? –