Users Online

· Guests Online: 120

· Members Online: 0

· Total Members: 188
· Newest Member: meenachowdary055

Forum Threads

Newest Threads
No Threads created
Hottest Threads
No Threads created

Latest Articles

C# Program to Implement IComparable Interface

C# Program to Implement IComparable Interface

 

This is a C# Program to implement icomparable interface.

Problem Description

This C# Program Implements IComparable Interface.

Problem Solution

IComparable allows custom sorting of objects when implemented. When a class implements this interface, we must add the public method CompareTo(T).

Program/Source Code

Here is source code of the C# Program to Implement IComparable Interface. The C# program is successfully compiled and executed with Microsoft Visual Studio. The program output is also shown below.

/*
 * C# Program to Implement IComparable Interface
 */
using System;
class Fraction : IComparable
{
    int z, n;
 
    public Fraction(int z, int n)
    {
        this.z = z; this.n = n;
    }
 
    public static Fraction operator +(Fraction a, Fraction b)
    {
        return new Fraction(a.z * b.n + a.n * b.z, a.n * b.n);
    }
 
    public static Fraction operator *(Fraction a, Fraction b)
    {
        return new Fraction(a.z * b.z, a.n * b.n);
    }
 
    public int CompareTo(object obj)
    {
        Fraction f = (Fraction)obj;
        if ((float)z / n < (float)f.z / f.n) 
          return -1;
        else if ((float)z / n > (float)f.z / f.n) 
           return 1;
        else return 0;
    }
 
    public override string ToString()
    {
        return z + "/" + n;
    }
}
 
class Test
{
 
   static void Main(string[] arg)
   {
      Fraction[] a = 
      {
      new Fraction(5,2),
      new Fraction(29,6),
      new Fraction(4,5),
      new Fraction(10,8),
      new Fraction(34,7)
      };
        Array.Sort(a);
        Console.WriteLine("Implementing the IComparable Interface in " + 
                          "Displaying Fractions : ");
        foreach (Fraction f in a) Console.WriteLine(f + " ");
        Console.WriteLine();
        Console.ReadLine();
   }
 
}
Program Explanation

This C# program is used to implement IComparable interface. Implement the IComparable interface for printing fractions. IComparable allows custom sorting of objects when implemented.

 

When a class implements this interface, add the public method CompareTo(T). CompareTo(T others)”. The generic version of this interface provides a more type-safe manner to handle the comparison between objects. Where “T” is the type of object and “other” is an object to compare with the current object.

The role of IComparable is to provide a method to compare two objects of a particular type. This is necessary if we want to provide any ordering capability for the object.

Runtime Test Cases
 
Implementing the IComparable Interface in Displaying Fractions : 
4/5
10/8
5/2
29/6
34/7

 

Comments

No Comments have been Posted.

Post Comment

Please Login to Post a Comment.

Ratings

Rating is available to Members only.

Please login or register to vote.

No Ratings have been Posted.
Render time: 1.28 seconds
10,863,041 unique visits