Как я могу сортировать массив объектов в C# на основе ввода пользователя?C#

Место общения программистов C#
Ответить
Anonymous
 Как я могу сортировать массив объектов в C# на основе ввода пользователя?

Сообщение Anonymous »

У меня есть массив, который заполняется пользовательским вводом и должен быть отсортирован в соответствии с конкретным свойством. Я рассмотрел аналогичные вопросы здесь, но это не помогает моей конкретной ситуации, и до сих пор ничего, что я пробовал, не работало. < /P>
Свойства для массива определяются в отдельном классе. />using System;
using System.Collections.Generic;
using System.Linq;
using System.Security.AccessControl;
using System.Text;
using System.Threading.Tasks;

namespace Instantiating_Objects
{
class Program
{
static void Main(string[] args)
{
//Cleaner cleaner = new Cleaner(); // Instantiantion

// Object Array
Cleaner[] clean = new Cleaner[3]; // Empty Object Array

Cleaner[] loadedCleaners = LoadCleaners(clean);

for (int i = 0; i < loadedCleaners.Length; i++)
{
Console.WriteLine(" ");
Console.WriteLine(loadedCleaners.Display() + "\n Salary: R" + loadedCleaners.CalcSalary());
}

Console.ReadKey();
}

public static Cleaner[] LoadCleaners(Cleaner[] cleaner)
{

for (int i = 0; i < cleaner.Length; i++)
{
Console.WriteLine("Enter your staff number");
long id = Convert.ToInt64(Console.ReadLine());

Console.WriteLine("Enter your last name");
string lname = Console.ReadLine();

Console.WriteLine("Enter your first name");
string fname = Console.ReadLine();

Console.WriteLine("Enter your contact number");
int contact = Convert.ToInt32(Console.ReadLine());

Console.WriteLine("Enter your number of hours worked");
int hours = Convert.ToInt32(Console.ReadLine());

Console.WriteLine("");

// Populating object array
cleaner = new Cleaner(id, fname, lname, contact, hours);

}

Array.Sort(, )

return cleaner;
}
}
}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Instantiating_Objects
{
class Cleaner
{
private long staffNo;
private string lastName;
private string fName;
private int contact;
private int noHours;
private double rate = 380.00;

public Cleaner() { }

public Cleaner(long staffId, string name, string surname, int number, int hours)
{
this.contact = number;
this.fName = surname;
this.lastName = name;
this.staffNo = staffId;
this.noHours = hours;
}

public int GetHours() { return noHours;}
public long GetStaffID() { return staffNo; }
public string GetSurname() { return lastName; }
public string GetName() { return fName; }
public int GetNumber() { return contact; }

// Calculate Salary

public double CalcSalary()
{
double salary = 0;

if(GetHours() > 0 && GetHours() 50)
{
salary = (GetHours() * rate) + 5000;
}

return salary;
}

public string Display()
{
return "\n Staff no: " + GetStaffID() + "\n Surname" + GetSurname()
+ "\n Name: " + GetName() + "\n Contact no: " + GetNumber();

}
}
}


Подробнее здесь: https://stackoverflow.com/questions/626 ... user-input
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»