我一直在寻找解决方案,但我不太明白。令我震惊的是 linq 应该能够巧妙地处理这个问题,但我并不是最擅长制定 linq 查询。基本上我有课;
public class Message
{
public int CreatedByPersonID { get; set; }
public int? PostedToPersonID { get; set; }
}
我正在寻找的是 linq 等价物;
List<int> personIDs = new List<int>();
foreach (Message message in messages)
{
if (!personIDs.Contains(message.CreatedByPersonID))
{
personIDs.Add(message.CreatedByPersonID);
}
if (message.PostedToPersonID != null && !personIDs.Contains(message.PostedToPersonID.Value))
{
personIDs.Add(message.PostedToPersonID.Value);
}
}
有这个的linq版本吗?还是我对技术的期望太高了……?我知道我正在寻找某个版本,Select()
但我不知道如何distinct
用多个字段来制定