Вместо того, чтобы предположить, я пошел и посмотрел на него в отражателе:
public int Count
{
get
{
// count and freeCount are local fields
return (this.count - this.freeCount);
}
}
Так что да, это «потокобезопасный» в том смысле, что доступ к нему не приведет к повреждению объекта словаря. Тем не менее, я не уверен, что могу придумать какой-либо случай использования, где получение счетчика с любой точностью важно, если к словарю обращаются из другого потока.