System.Numerics.BigNumber.BigNumber.FormatBigIntegerToHexString C# (CSharp) Méthode

FormatBigIntegerToHexString() private static méthode

private static FormatBigIntegerToHexString ( System.Numerics.BigInteger value, char format, int digits, NumberFormatInfo info ) : string
value System.Numerics.BigInteger
format char
digits int
info System.Globalization.NumberFormatInfo
Résultat string
        private static string FormatBigIntegerToHexString(BigInteger value, char format, int digits, NumberFormatInfo info) {
            StringBuilder builder = new StringBuilder();
            byte[] buffer = value.ToByteArray();
            string str = null;
            int index = buffer.Length - 1;
            if (index > -1) {
                bool flag = false;
                byte num2 = buffer[index];
                if (num2 > 0xf7) {
                    num2 = (byte)(num2 - 240);
                    flag = true;
                }
                if ((num2 < 8) || flag) {
                    str = format + "1";
#if !dotNETMF
                    builder.Append(num2.ToString(str, info));
#else
                    builder.Append(num2.ToString(str));
#endif
                    index--;
                }
            }
            if (index > -1) {
                str = format + "2";
                while (index > -1) {
#if !dotNETMF
                    builder.Append(buffer[index--].ToString(str, info));
#else
                    builder.Append(buffer[index--].ToString(str));
#endif
                }
            }
            if ((digits > 0) && (digits > builder.Length)) {
                builder.Insert(0, (value._sign >= 0) ? "0" : ((format == 'x') ? "f" : "F"), digits - builder.Length);
            }
            return builder.ToString();
        }