target .net core
long a = new Random().NextInt64();
Console.WriteLine(a.ToString());
a shows different value in the debugger that the output from toString. Maybe converted as Double internally and cannot store the bigger Int64 value without loosing precision?