我想轉換for循環:轉換嵌套循環中的LINQ聲明
for (int i = 100; i < 1000; i++)
{
for (int j = 100; j < 1000; j++)
{
if (IsPalindrome(i * j))
{
palindromes.Add(i * j);
}
}
}
// For some reason the list is not sorted correctly, but when sorted it works.
palindromes.Sort();
Console.WriteLine(palindromes.Last());
成一個單一的LINQ聲明,我搞亂了,雖然乘法,這是我到目前爲止,不幸的是,它似乎並沒有正確地增加,導致錯誤的數字收集。
var palis = Enumerable.Range(100, 999)
.Select(n => n * Enumerable.Range(100, 999)
.Aggregate((ctr, num) => ctr++))
.Where(n => IsPalindrome(n)).Max();
就像你說的,在這種情況下,我不是爲了提高效率,而是爲了讀性和「優雅」,我發現LINQ表達式通常比傳統方式更優雅。 –