泛型的Distinct(IEqualityComparer)的用法

 public class Comparint : IEqualityComparer<SBAlarmHelp>
{
#region IEqualityComparer<SBAlarmHelp> 成员

public bool Equals(SBAlarmHelp x, SBAlarmHelp y)
{
return x.AlarmCode == y.AlarmCode ? false : true;
}

public int GetHashCode(SBAlarmHelp obj)
{
return obj.ToString().GetHashCode();
}

#endregion
}
    /// <summary>
/// 加载告警代码列表
/// </summary>
private void LoadAlarmList()
{
this.ComboBoxAlarmCode.Items.Clear();
this.ComboBoxAlarmkeyword.Items.Clear();
IList<SBAlarmLog> alarmLogList = alarmLogRepository.GetAll().Distinct(new Comparint()).ToList(); //去掉重复行
if (alarmLogList != null && alarmLogList.Count > 0)
{
for (int i = 0; i < alarmLogList.Count; i++)
{
this.ComboBoxAlarmCode.Items.Add(alarmLogList[i].AlarmCode);
this.ComboBoxAlarmkeyword.Items.Add(alarmLogList[i].AlarmKeyWord);
}
this.ComboBoxAlarmCode.SelectedItem = this.ComboBoxAlarmCode.Items[0];
this.ComboBoxAlarmkeyword.SelectedItem = this.ComboBoxAlarmkeyword.Items[0];
}

if (this.sBAlarmHelp != null)
{
this.ComboBoxAlarmCode.SelectedItem = sBAlarmHelp.AlarmCode;
this.ComboBoxAlarmkeyword.SelectedItem = sBAlarmHelp.AlarmKeyWord;
this.txtSuggest.Text = this.sBAlarmHelp.AlarmHelp;
}

}

posted @ 2011-10-11 12:43  biubiubiu  阅读(280)  评论(0编辑  收藏  举报