Was ist die Grenze des Werttyps BigInteger in C #?

Wie in MSDN beschriebenBigInteger ist:

Ein unveränderlicher Typ, der eine willkürlich große ganze Zahl darstellt, deren Wert theoretisch keine oberen oder unteren Grenzen hat.

Wie ich sehen kann, ist BigInteger einValueTypeSoviel ich weiß, muss ein ValueType einenmaximale Größe von 16 Bytes.

MSDN geht weiter und sagt:

Eine OutOfMemoryException kann für jede Operation ausgelöst werden, bei der ein BigInteger-Wert zu groß wird.

und mehr :

Obwohl dieser Prozess für den Anrufer transparent ist, führt er zu einer Leistungsbeeinträchtigung. In einigen Fällen, insbesondere wenn wiederholte Operationen in einer Schleife mit sehr großen BigInteger-Werten ausgeführt werden

Wie könnte es so große Werte speichern, so groß wiedouble.MaxValue + double.MaxValue ? Mir wurde gesagt, dass es hatReferenceType Objekte darin, aber alles, was ich hier in seiner Definition in VisualStudio finden kann, ist ValueTypes.

Was ist die wahre Grenze? Und selbst wenn noch keiner vorhanden ist, wie kann es "als Werttyp" gelingen, all diese Datenmengen zu speichern?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage