string zahlen = "00000......";
int numbers = 00000....;
//1
int result = (int)zahlen * numbers;
//2
int result = Convert.ToInt32(zahlen)*numbers;
string result = result.ToString();
Achja wenn du solche Hohen Zahlen versucht zu multiplizieren, kann ich dir jetzt schon sagen, das solch eine Berechnung Jahre dauern wird.
Edit:
Darüber hinaus kannst du mit einem 32 Bit Wert maximal 2.147.483.647 als Wert haben. Als 64Bit Wert ist maximal 9.223.372.036.854.775.808 erlaubt. Und auch ein 128BitInt kann nicht 3000 Stellen haben, das wird nichts. In keiner Programmierersprache.
zum Verarbeiten von großen Zahlen kann man z.B. die BigInteger Klasse von CodeProject verwenden.
Eigentlich sollte C# 3.5 bereits eine integrierte BigInteger Klasse enthalten, die wurde aber kurz vorm Release wieder aus der Bibliothek (afaik aus Performance-Gründen) genommen.
edit:
warum ließt du eigentlich nicht den String Zeichen für Zeichen aus, castest die einzelnen Zeichen und verrechnest den KLrahm wie man das halt von Hand aufm Papier? macht (also die Grundschschulmethode)
So wär das mit Dezimalzahlen auch kein Problem.