每次运行带有特定值的SQL查询时,我从数据库中选择用户并选择一个用户,因此无法在SQL中限制相同的用户。
我有一个列表:
list[0] = "jerry"
list[1] = "tom"
list[2] = "jerry"
我希望从列表中删除任何一个(首尾无所谓)。
谢谢
IEnumerable<string> uniqueUsers = list.Distinct();
你也可以使用 HashSet:
HashSet<string> uniqueUsers = new HashSet<string>(list);
LINQ可以解决这个问题:
List<string> names = new List<string> { "Tom", "Jerry", "Tom" };
IQueryable<string> distinctItems = names.Distinct();
如果你想要一个列表类型,只需调用ToList():distinctItems.ToList();
以下是来自MSDN的示例。
编辑:非LINQ示例(使用List类中的Contains()函数):
List<string> names = new List<string> { "Tom", "Jerry", "Tom" };
List<string> distinctNames = new List<string>();
foreach (var name in names)
{
if (!distinctNames.Contains(name))
{
distinctNames.Add(name);
}
}
var list = new List<string> { "Tom", "Jerry", "Tom" };
var uniqueList = list.Distinct();
你可以使用 list.distinct();