TECHNOLOGIES
FORUMS
JOBS
BOOKS
EVENTS
INTERVIEWS
Live
MORE
LEARN
Training
CAREER
MEMBERS
VIDEOS
NEWS
BLOGS
Sign Up
Login
No unread comment.
View All Comments
No unread message.
View All Messages
No unread notification.
View All Notifications
Answers
Post
An Article
A Blog
A News
A Video
An EBook
An Interview Question
Ask Question
Forums
Monthly Leaders
Forum guidelines
Maha
NA
0
326.4k
IComparable
Aug 22 2012 7:56 PM
This orignal program is in the following website (http://www.dotnetperls.com/icomparable).List of name and salary have been added in following way list.Add(new Employee()
{
Name =
"Steve",
Salary
=
10000
}
);
If we remove the curly braces, Name, and Salary and we write like as follows list.Add(new Employee("Steve", 10000)); Program is requesting a public constructor. And we add a public constructor. The output is as follows. Please explain the reason. Modification is highlighted in the program.
/*
8000,Lucy
500000,Bill
10000,Andrew
10000,Janet
10000,Steve
*/
using System;
using System.Collections.Generic;
class Employee : IComparable<Employee>
{
public int Salary { get; set; }
public string Name { get; set; }
public Employee(string Name, int Salary)
{
this.Name = Name;
this.Salary = Salary;
}
public int CompareTo(Employee other)
{
// Alphabetic sort if salary is equal. [A to Z]
if (this.Salary == other.Salary)
{
return this.Name.CompareTo(other.Name);
}
// Default to salary sort. [High to low]
return other.Name.CompareTo(this.Name);
}
public override string ToString()
{
// String representation.
return this.Salary.ToString() + "," + this.Name;
}
}
class Program
{
static void Main()
{
List<Employee> list = new List<Employee>();
l
ist.Add(new Employee("Steve", 10000));
list.Add(new Employee("Janet", 10000));
list.Add(new Employee("Andrew", 10000));
list.Add(new Employee("Bill", 500000));
list.Add(new Employee("Lucy", 8000));
// Uses IComparable.CompareTo()
list.Sort();
// Uses Employee.ToString
foreach (var element in list)
{
Console.WriteLine(element);
}
Console.ReadKey();
}
}
Reply
Answers (
13
)
SQL Deadlock, Task Factory Treading Problem
VSTO Query