Tôi đang đọc một cuốn sách C# cho người mới bắt đầu, và trong mỗi đầu của chương, có các bài tập được trả lời dựa trên các bài học được giải quyết.Có thể diễn tả mã này trong LINQ không?
Một trong những bài tập đi theo cách này: (không phải là các chữ chính xác)
Viết một chương trình mà sẽ chấp nhận một int như độ dài mảng, và các giá trị cho mảng.
Sau đó, sẽ in:
"" nếu mảng không được sắp xếp theo chiều tăng dần.
"" nếu được sắp xếp. Và,
"" nếu được sắp xếp, nhưng có bản sao.
Ví dụ:
// Sorted
Input: 1, 2, 3, 5
Print: 1
// Not sorted
Input: 2, 1, 3, 6
Print: 0
// Sorted, but with duplicates
Input: 2, 2, 3, 7
Print: 2
Tôi không biết nếu logic của tôi ở đây là tuyệt đối, nhưng bằng cách nào đó nó đang làm việc,
và tôi thực hiện nó theo cách của tôi sử dụng mã này:
int arrayLength = 0;
int prev, next;
int sortStatus = 1;
Console.Write("Input array Length: ");
arrayLength = Convert.ToInt32(Console.ReadLine());
int[] ar = new int[arrayLength];
for (int x = 0; x < arrayLength; x++)
{
Console.Write("Input {0} value: ", (x+1).ToString());
ar[x] = Convert.ToInt32(Console.ReadLine());
}
for (int x = 0; x < ar.Length-1; x++)
{
prev = (int)ar[x];
next = (int)ar[x + 1];
if (next < prev)
sortStatus = 0;
if (next == prev)
sortStatus = 2;
}
Console.Write(sortStatus.ToString());
Console.Read();
Có thể diễn tả điều này trong LINQ không? Làm sao?
+1 cho hỏi một câu hỏi cũng có cấu trúc, cũng như muốn biết làm thế nào để cải thiện những gì bạn đã làm. – RPM1984
@ RPM1984: cảm ơn sir :) – yonan2236
Cho rằng mã thực tế có chứa logic 'isSorted' dài hơn 10 dòng (và thực sự nên theo phương thức riêng của nó), bạn có thực sự muốn một câu lệnh LINQ phức tạp để thay thế nó không? –