public static string VersionNumberToString(long versionNumber) {
List<string> components = new List<string>();
for (int i = 0; i < MAX_VERSION_COMPONENTS; ++i) {
long componentDivisor =
(long)Math.Pow((double)VERSION_COMPONENT_MULTIPLIER,
(double)(MAX_VERSION_COMPONENTS - (i + 1)));
components.Add((versionNumber / componentDivisor).ToString());
versionNumber %= componentDivisor;
}
return String.Join(Char.ToString(VERSION_DELIMITER[0]),
components.ToArray());
}
}