例如有个对象
USER
里面有4个属性
name,sex,age,show-------
show的值为1-6的数字有个list 里面有5个user对象其中2个或者二个以上的对象的show相同即:user1.show = 5
user2.show =5要求使用代码逻辑剔除 show属性相同的项
USER
里面有4个属性
name,sex,age,show-------
show的值为1-6的数字有个list 里面有5个user对象其中2个或者二个以上的对象的show相同即:user1.show = 5
user2.show =5要求使用代码逻辑剔除 show属性相同的项
user2.show =5如果找到了 移除user1还是user2?
点击删除就传show的值 ?
如果传来的是5,就根据show是5来删除?我理解你是想这样?错了?
user1.name ='user'
user1.show =5
user2.name='user2'
user2.show=5
user3.name='user3'
user3.show=1
user4.name='user4'
user4.show=3
user5.name='user5'
user5.show=2
list.add(user1);
list.add(user2);
list.add(user3);
list.add(user4);
list.add(user5);----------------
假设List里面有这个5个对象
其中user1和user2的show属性相同要求 保留user1剔除user2 或者保留user2剔除user1
List<User> userList = new List<User>(); userList.Add(new User("wang", 11));
userList.Add(new User("aaaa", 11));
userList.Add(new User("li", 12));
userList.Add(new User("feng", 13));
userList.Add(new User("kuang", 14)); List<User> newList = userList;
foreach (User us in userList)
{
int count = 0;
foreach (User usNew in newList)
{
if (usNew._age == us._age)
{
count++;
} if (count > 1)
{
us._age = int.MaxValue;
}
}
} IEnumerable<User> distinctAges = userList.Where(user => user._age != int.MaxValue); foreach (User us in distinctAges)
{
Console.WriteLine(us._name + " " + us._age);
} public class User
{
public string _name;
public int _age; public User(string name, int age)
{
this._name = name;
this._age = age;
}
}写了个方法可以实现,应该还可以优化
aaaa 11
li 12
feng 13
kuang 14
wang 11 这个被去掉了