using System;
using System.Linq;
class Program
{
static void Main()
{
Random r = new Random();
bool isWin = Enumerable.Range(0, 3)
.Select(_ =>
{
int randomNumber = r.Next(0, 11);
Console.Write(randomNumber + " ");
return randomNumber;
})
.Distinct()
.Count() < 3;
Console.WriteLine(isWin ? "You win" : "You lose");
}
}
Программка: И она даже работает. Почти всегда правильно. Но иногда бывает и вот так:
Вангую, что дело в отложенных вычислениях, но почему они выполняются 2 раза? Такое впечатление, что я какое-то замыкание сочинил нечаянно таким образом. Если коллекцию превратить в массив, допустим, то эффект пропадает.