internal static DerObjectIdentifier FromOctetString(byte[] enc) { int hashCode = Arrays.GetHashCode(enc); int num = hashCode & 0x3FF; lock (cache) { DerObjectIdentifier derObjectIdentifier = cache[num]; if (derObjectIdentifier != null && Arrays.AreEqual(enc, derObjectIdentifier.GetBody())) { return(derObjectIdentifier); } return(cache[num] = new DerObjectIdentifier(enc)); } }
internal static DerObjectIdentifier FromOctetString(byte[] enc) { int index = Arrays.GetHashCode(enc) & 0x3ff; object cache = DerObjectIdentifier.cache; lock (cache) { DerObjectIdentifier identifier = DerObjectIdentifier.cache[index]; if ((identifier != null) && Arrays.AreEqual(enc, identifier.GetBody())) { return(identifier); } return(DerObjectIdentifier.cache[index] = new DerObjectIdentifier(enc)); } }
internal static DerObjectIdentifier FromOctetString(byte[] enc) { int hashCode = Arrays.GetHashCode(enc); int first = hashCode & 1023; lock (cache) { DerObjectIdentifier entry = cache[first]; if (entry != null && Arrays.AreEqual(enc, entry.GetBody())) { return(entry); } return(cache[first] = new DerObjectIdentifier(enc)); } }
internal static DerObjectIdentifier FromOctetString(byte[] enc) { int hashCode = Arrays.GetHashCode(enc); int num = hashCode & 1023; DerObjectIdentifier result; lock (DerObjectIdentifier.cache) { DerObjectIdentifier derObjectIdentifier = DerObjectIdentifier.cache[num]; if (derObjectIdentifier != null && Arrays.AreEqual(enc, derObjectIdentifier.GetBody())) { result = derObjectIdentifier; } else { result = (DerObjectIdentifier.cache[num] = new DerObjectIdentifier(enc)); } } return(result); }