Czy nieskończona liczba jest wciąż „niezliczona”?
Podobnie jak dwa nakładające się segmenty linii, możemy znaleźć nieskończone punkty przecięcia. Wyliczenie wszystkich tych punktów może nie mieć sensu i możemy po prostu przedstawić, że ta kolekcja jest nieskończonością.
Liczby zmiennoprzecinkowe zostały zdefiniowaneNegativeInfinity
iPositiveInfinity
. Liczba, która reprezentujeliczyć lubporządkowy Wydaje się, że nie jest konieczne używanie liczb zmiennoprzecinkowych, jednak liczby całkowite nie są zdefiniowane jako reprezentujące nieskończoność.
Próbowałem więc zaimplementować nieskończoną liczbę. Ale nagle mylę się z terminem „wyliczalny” ..
Czy jest lepszy sposób na rozwiązanie tego problemu? I jest nieskończenie niezliczonawyliczalny?
Kod
public partial class Infinity: IEnumerable<object> {
IEnumerator<object> IEnumerable<object>.GetEnumerator() {
for(; ; )
yield return Infinity.Enumerable;
}
public IEnumerator GetEnumerator() {
for(; ; )
yield return Infinity.Enumerable;
}
public Infinity LongCount(
Func<object, bool> predicate=default(Func<object, bool>)) {
return Infinity.Enumerable;
}
public Infinity Count(
Func<object, bool> predicate=default(Func<object, bool>)) {
return Infinity.Enumerable;
}
public static readonly Infinity Enumerable=new Infinity();
}
Edytować:
Dzięki za odpowiedź. Jestemnie mylić zIEnumerable
iIEnumerator
. GetEnumerator
metody powracająInfinity.Enumerable
jest dlatego, że janie chcesz zadeklarować dodatkowy obiekt obojętny, taki jak:
static readonly object dummy=new object();
i powrót zyskudummy
wGetEnumerator
metody.