我有这个字符串列表:
List<string> clubs = dropdownSelectedvalue.Split(',').ToList();
值将为例如:1255,1233,2233。现在我的对象与俱乐部列表中的值具有相同的属性。我想要实现的是从现有的propertyid中清除俱乐部列表,以防id在列表中并且只留下不存在的id。
这是对象:
public class Clubs
{
public int? ClubId { get; set; }
public string ClubName { get; set; }
}
是否有任何linq命令或类似的东西我可以用于此问题?
已添加代码:
List<string> newClubs = clubs.Remove(s => Club.ClubId.ToString().Equals(clubs));
这样的事情但是还没有完成,我已经达到了这一点。
每个请求添加的附加代码:
List<Clubs> Clubs = Clubs.LoadAll();
foreach (Clubs club in Clubs)
{
var dropdownSelectedvalue = values[sponsor.WebUserId.Value.ToString()];
List<string> clubs = dropdownSelectedvalue.Split(',').ToList();
List<string> newClubs = ?
}
答案 0 :(得分:2)
英语:给我所有俱乐部我的俱乐部ID列表不包含俱乐部的ClubId
的LINQ:
var query = clubList.Where(c => !clubs.Contains(c.ClubID));
答案 1 :(得分:1)
最易读的方式是: -
var newClubs = clubs.Except(allClubs).ToList();
你将在你的俱乐部课上实现IEquatable<Club>
。
请参阅http://msdn.microsoft.com/en-us/library/vstudio/bb300779(v=vs.100).aspx
或者,如果您只想处理字符串,请将您的allClubs列表投影到俱乐部的名称(使用Select
),然后在字符串上使用Except
。