public static bool IsIdValid()

in sdk/src/Core/Internal/Entities/TraceId.cs [73:132]


        public static bool IsIdValid(string traceId)
        {
            // Is the input valid?
            if (string.IsNullOrWhiteSpace(traceId))
            {
                return false;
            }

            // Is the total length valid?
            if (traceId.Length != TotalLength)
            {
                return false;
            }

            string[] elements = traceId.Split(Delimiter);

            // Is the number of elements valid?
            if (elements.Length != ElementsCount)
            {
                return false;
            }

            // Is the version a valid integer?
            int idVersion;
            if (!int.TryParse(elements[0], out idVersion))
            {
                return false;
            }

            // Is the version supportted?
            if (Version != idVersion)
            {
                return false;
            }
 
            var idEpoch = elements[1];
            var idRand = elements[2];

            // Is the size of epoch and random number valid?
            if (idEpoch.Length != EpochHexDigits || idRand.Length != RandomNumberHexDigits)
            {
                return false;
            }

            // Is the epoch a valid 32bit hex number?
            int epoch;
            if (!int.TryParse(idEpoch, NumberStyles.HexNumber, null, out epoch))
            {
                return false;
            }

            // Is the random number a valid hex number?
            BigInteger rand = BigInteger.Zero;
            if (!BigInteger.TryParse(idRand, NumberStyles.HexNumber, null, out rand))
            {
                return false;
            }

            return true;
        }