Difference Between IComparable & IComparer
------------------------------------------
Icomparable implements int ComareTo(Object o)
compare the current instance with another instance of same type.
IComparable is used to provide a default sort order for your objects.
IComparer implements int Compare(object a,object b)
It is used to compare any two instances of T.
IComparer is to provide additional comparison mechanisms.
using System;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Collections;
using System.Collections.Generic;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
List<Students> Stu = new List<Students>();
Stu.Add(new Students("Nimish",26));
Stu.Add(new Students("Namish", 26));
Stu.Add(new Students("Nemish", 26));
Stu.Add(new Students("Nmish", 26));
Stu.Sort();
List<Faculty> Fac = new List<Faculty>();
Fac.Add(new Faculty("Nimish", 26));
Fac.Add(new Faculty("Namish", 26));
Fac.Add(new Faculty("Nemish", 26));
Fac.Add(new Faculty("Nmish", 26));
Fac.Sort(new Faculty_Sort_Asc());
}
}
public class Students:IComparable<Students>
{
string Name;
int Age;
public Students(string name, int age)
{
Name=name;
Age=age;
}
public int CompareTo(Students stu)
{
return Name.CompareTo(stu.Name);
}
}
public class Faculty
{
public string Name;
public int Age;
public Faculty(string name, int age)
{
Name = name;
Age = age;
}
}
public class Faculty_Sort_Asc : IComparer<Faculty>
{
#region IComparer<Employee> Members
public int Compare(Faculty x, Faculty y)
{
return x.Name.CompareTo(y.Name);
}
#endregion
}
------------------------------------------
Icomparable implements int ComareTo(Object o)
compare the current instance with another instance of same type.
IComparable is used to provide a default sort order for your objects.
IComparer implements int Compare(object a,object b)
It is used to compare any two instances of T.
IComparer is to provide additional comparison mechanisms.
using System;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Collections;
using System.Collections.Generic;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
List<Students> Stu = new List<Students>();
Stu.Add(new Students("Nimish",26));
Stu.Add(new Students("Namish", 26));
Stu.Add(new Students("Nemish", 26));
Stu.Add(new Students("Nmish", 26));
Stu.Sort();
List<Faculty> Fac = new List<Faculty>();
Fac.Add(new Faculty("Nimish", 26));
Fac.Add(new Faculty("Namish", 26));
Fac.Add(new Faculty("Nemish", 26));
Fac.Add(new Faculty("Nmish", 26));
Fac.Sort(new Faculty_Sort_Asc());
}
}
public class Students:IComparable<Students>
{
string Name;
int Age;
public Students(string name, int age)
{
Name=name;
Age=age;
}
public int CompareTo(Students stu)
{
return Name.CompareTo(stu.Name);
}
}
public class Faculty
{
public string Name;
public int Age;
public Faculty(string name, int age)
{
Name = name;
Age = age;
}
}
public class Faculty_Sort_Asc : IComparer<Faculty>
{
#region IComparer<Employee> Members
public int Compare(Faculty x, Faculty y)
{
return x.Name.CompareTo(y.Name);
}
#endregion
}
No comments:
Post a Comment