static private HashTag getHash(string v) { try { lock (_hashTags) { return(_hashTags[v]); } } catch (KeyNotFoundException) { HashTag hashTag = new HashTag() { hash = v }; lock (_hashTags) { _hashTags[v] = hashTag; } return(hashTag); } }
static public HashTag associate(string v, Message message) { HashTag hashTag = getHash(v); Console.Write(v); Console.Write(" "); Console.WriteLine(message.content); lock (hashTag.messages) { hashTag.messages.Add(message); } lock (message.hashTags) { message.hashTags.Add(hashTag); } return(hashTag); }