In my first code, "idDisco" is "876823094", but in c#, this value is "34434236"
It is the same value, 876823094 in hexadecimal notation is 0x34434236. Use Calc.exe, View + Programmer to see this for yourself. If you want to reproduce the same number that FSO gave you then you'll have to do the same thing it does and convert to base 10. Like this:
string hex = disk["VolumeSerialNumber"].ToString();
int value = int.Parse(hex, System.Globalization.NumberStyles.HexNumber, null);
string fso = value.ToString();