ulong to guid

CSharp · Console

/Program.cs

using System;
					
public class Program
{
	public void Main()
	{
		ulong test = 123;
		Console.WriteLine(ToGuid(test));

		test = 804689000304;
		Console.WriteLine(ToGuid(test));

		test = 11003050607091;
		Console.WriteLine(ToGuid(test));

		test = ulong.MaxValue;
		Console.WriteLine(ToGuid(test));
		
		Console.WriteLine(123.ToString("00"));

		Console.WriteLine(ulong.MaxValue.ToString("00000000-0000-0000-0000-000000000000"));

		var guid = new Guid(ulong.MaxValue.ToString("00000000-0000-0000-0000-000000000000"));
		Console.WriteLine(guid);
		Console.WriteLine(guid.ToString("N"));
		Console.WriteLine(Convert.ToUInt64(guid.ToString("N")));
	}
	
	private string ToGuid(ulong value)
    {
        //654B9E89-9997-4D67-9316-7EC2FDFF29CD

        var tail = value % 1000000000000;
        string result = "-"+tail.ToString("000000000000");

        tail = (value / 1000000000000) % 1000;
        result = "-" + tail.ToString("0000") + result;

        tail = value / 10000000000000000;
        result = "00000000-0000-" + tail.ToString("0000") + result;

        return result;
    }
}
;