Example #1
0
        public static bool TryParse(string value, out Tryte tryte)
        {
            tryte = new Tryte();

            if (value == null)
            {
                return(false);
            }

            if (Int32.TryParse(value, out Int32 s))
            {
                if (s < MIN_INT_VALUE || s > MAX_INT_VALUE)
                {
                    return(false);
                }

                tryte = new Tryte(s);
            }
            else
            {
                for (int i = 0; i < NUMBER_OF_TRITS && i < value.Length; i++)
                {
                    if (TritEx.TryParse(value[i], out Trit trit))
                    {
                        tryte[i] = trit;
                    }
                    else
                    {
                        return(false);
                    }
                }
            }

            return(true);
        }
Example #2
0
        public static Tryte Parse(string value)
        {
            if (value == null)
            {
                throw new ArgumentNullException();
            }

            Trit[] trits = new Trit[NUMBER_OF_TRITS];

            for (int i = 0; i < NUMBER_OF_TRITS && i < value.Length; i++)
            {
                if (TritEx.TryParse(value[i], out Trit trit))
                {
                    trits[i] = trit;
                }
                else
                {
                    throw new FormatException();
                }
            }

            return(new Tryte(trits));
        }