public void Buy(Drug drug, int count) { lock (allDrugs) { string name = Thread.CurrentThread.Name; if (!allDrugs.ContainsKey(drug)) { Console.WriteLine($"{drug} нет в наличии"); } int currentCount; allDrugs.TryGetValue(drug, out currentCount); if (currentCount < count) { Console.WriteLine($"{name} хочет купить {drug} {count}. В наличии {currentCount}"); } else { //allDrugs.Remove(drug); allDrugs[drug] -= count; Console.WriteLine($"{name} купил(а) {drug} {count} шт. осталось {currentCount - count}"); } } }