泛型List去除重复指定字段 利用了Linq
来源:互联网 发布:mac jenkins slaver 编辑:程序博客网 时间:2024/05/08 10:34
1、自己写的一个demo,记录下来,按照编码ID去除的重复
.aspx中
<div>
<asp:Repeater ID="rpTest" runat="server">
<ItemTemplate>
<font color="red">编号</font>:<%#Eval("ID") %>
<font color="red">名称</font>:<%#Eval("Name") %>
<font color="red">描述</font>:<%#Eval("Info") %><br />
</ItemTemplate>
</asp:Repeater>
<br />
<asp:Button ID="btnOK" runat="server" Text="去除重复" OnClick="btnOK_Click" />
<asp:Button ID="btnOKs" runat="server" Text="原始数据"
onclick="btnOKs_Click" />
</div>
.cs文件中
这里别忘了引用using System.Linq;否则Distinct()函数找不到
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
rpTest.DataSource = DataBind();
rpTest.DataBind();
}
}
#region 数据绑定
public List<Test> DataBind()
{
List<Test> list = new List<Test>();
Test t = new Test();
t.ID = 100;
t.Name = "测试1";
t.Info = "描述1";
list.Add(t);
Test t1 = new Test();
t1.ID = 200;
t1.Name = "测试2";
t1.Info = "描述2";
list.Add(t1);
Test t2 = new Test();
t2.ID = 100;
t2.Name = "测试3";
t2.Info = "描述3";
list.Add(t2);
Test t3 = new Test();
t3.ID = 200;
t3.Name = "测试4";
t3.Info = "描述4";
list.Add(t3);
return list;
}
#endregion
#region 按钮事件
protected void btnOK_Click(object sender, EventArgs e)
{
rpTest.DataSource = DataBind().Distinct(new CompanyNameComparer()).ToList();
rpTest.DataBind();
}
protected void btnOKs_Click(object sender, EventArgs e)
{
rpTest.DataSource = DataBind();
rpTest.DataBind();
}
#endregion
#region 重写比较方法
public class CompanyNameComparer : IEqualityComparer<Test>
{
public bool Equals(Test x, Test y)
{
if (x == null)
return y == null;
return x.ID == y.ID;
}
public int GetHashCode(Test obj)
{
if (obj == null)
return 0;
return obj.ID.GetHashCode();
}
}
#endregion
#region 实体
public class Test
{
private int m_ID;
public int ID
{
get { return m_ID; }
set { m_ID = value; }
}
private string m_Name;
public string Name
{
get { return m_Name; }
set { m_Name = value; }
}
private string m_Info;
public string Info
{
get { return m_Info; }
set { m_Info = value; }
}
}
#endregion
demo图
去除重复后
- 泛型List去除重复指定字段 利用了Linq
- Linq利用Distinct去除重复项(可自己指定)
- linq list去除重复项
- Linq 和 list集合 去除重复项
- Linq 和 list集合 去除重复项
- Linq List<T>.Distinct() 去除对象重复
- list泛型,去除对象中某一个字段值重复
- 根据list<object>对象中某个字段去除重复值
- Python中利用set去除列表(list)重复元素
- Python中利用set去除列表(list)重复元素
- Linq去除重复的数据
- list去除重复数据
- list去除重复数据
- 去除list重复元素
- List去除重复项。
- List去除重复
- List去除重复数据
- List去除重复元素
- android4.0移植默认动态壁纸修改
- Java反编译工具Jad详解
- TNS-04414,TNS-04610错误
- Eclipse中的codetemplates.xml
- SQLITE3在tiny6410上的移植
- 泛型List去除重复指定字段 利用了Linq
- Backbone入门(View,Controller)
- Chrome学习整理
- delphi 中使用WaitForMultipleObjects等待线程执行,再执行后续代码
- java参数后面跟三个点所代表的意思
- RDLC续
- 在google map上添加点(V3)
- Agile PLM: JavClient无法登录错误 ClassNotFoundException: weblogic.workarea.spi.WorkContextEntryImpl
- 穿过防火墙