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); }
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)); }