Czytam książkę C# dla początkujących, a na każdym końcu rozdziału znajdują się ćwiczenia, na które należy odpowiedzieć w oparciu o lekcje.Czy można wyrazić ten kod w LINQ?
Jeden z tych ćwiczeń idzie w ten sposób: (nie dokładne sformułowania)
napisać program, który będzie akceptować int ponieważ długość tablicy i wartości dla tablicy.
Następnie zostanie wydrukowane:
"" jeśli tablica nie jest posortowana w porządku rosnącym.
"" jeśli jest posortowany. I,
"" jeśli jest posortowany, ale są duplikaty.
Przykład:
// 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
Nie wiem, czy moja logika tutaj jest absolutna, ale jakoś to działa,
i zrobiłam go w drodze przy użyciu tego kodu:
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();
Czy można wyrazić to w LINQ? W jaki sposób?
+1 dla zadaje pytanie dobrze zorganizowanego, a także chcą wiedzieć, jak poprawić to, co zostało już zrobione. – RPM1984
@ RPM1984: dziękuję, proszę pana :) – yonan2236
Biorąc pod uwagę fakt, że rzeczywisty kod zawierający logikę "isSorted" ma mniej niż 10 linii (i naprawdę powinien być w swojej własnej metodzie), czy naprawdę chcesz, aby zastąpiła go zawiłe polecenie LINQ? –