我有一个 Jobs 数组,但是我遇到了 JobName 数组为我提供错误的问题Array does not contain a definition for OrderBy。我必须做什么才能将 OrderBy 与数组一起使用?
OrderBy是一个 linq 方法,你需要命名空间System.Linq
OrderBy - 根据键按升序对序列的元素进行排序。OrderByDescending - 根据键以降序对序列的元素进行排序。OrderBy 示例
using System;
using System.Linq;
namespace Test.SO47928637
{
public class Job
{
public string JobName { get; set; }
public int JobTime { get; set; }
public override string ToString()
{
return $"Job{JobName}:{JobTime}";
}
}
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Please enter the time for the following jobs");
//record the times for the evaluation
Console.WriteLine("Job A Time (ms): ");
string timeOneText = Console.ReadLine();
int jobTimeOne = int.Parse(timeOneText);
Job jobA = new Job { JobName = "A", JobTime = jobTimeOne };
Console.WriteLine(jobA);
Console.WriteLine("Job B Time (ms): ");
string timeTwoText = Console.ReadLine();
int jobTimeTwo = int.Parse(timeTwoText);
Job jobB = new Job { JobName = "B", JobTime = jobTimeTwo };
Console.WriteLine(jobB);
Console.WriteLine("Job C Time (ms): ");
string timeThreeText = Console.ReadLine();
int jobTimeThree = int.Parse(timeThreeText);
Job jobC = new Job { JobName = "C", JobTime = jobTimeThree };
Console.WriteLine(jobC);
Console.WriteLine("Job D Time (ms): ");
string timeFourText = Console.ReadLine();
int jobTimeFour = int.Parse(timeFourText);
Job jobD = new Job { JobName = "D", JobTime = jobTimeFour };
Console.WriteLine(jobD);
Console.WriteLine("Job E Time (ms): ");
string timeFiveText = Console.ReadLine();
int jobTimeFive = int.Parse(timeFiveText);
Job jobE = new Job { JobName = "E", JobTime = jobTimeFive };
Console.WriteLine(jobE);
Console.WriteLine("Press any key to continue");
Console.ReadLine();
//Create an array for Job titles
Job[] jobs = { jobA, jobB, jobC, jobD, jobE };
var items = jobs.OrderBy(o => o.JobName);
Console.WriteLine("Order by JobName ascending");
foreach (var item in items)
{
Console.WriteLine(item.ToString());
}
items = jobs.OrderBy(o => o.JobTime);
Console.WriteLine("Order by JobTime ascending");
foreach (var item in items)
{
Console.WriteLine(item.ToString());
}
items = jobs.OrderByDescending(o => o.JobTime);
Console.WriteLine("Order by JobTime descending");
foreach (var item in items)
{
Console.WriteLine(item.ToString());
}
Console.ReadLine();
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3970 次 |
| 最近记录: |