public int TempId(int index = 0) { int id; if (idCache.TryGetValue(index, out id)) return id; id = Interlocked.Increment(ref GlobalId); idCache[index] = id; return id; }