Вы должны использовать Dictionary<int, Foo>
вместо Hashtable
.Hashtable
- это устаревший класс для тех дней, когда у нас не было дженериков.Он хранит ключ и значения в виде object
.Dictionary<TKey,TValue>
, с другой стороны, является типизированной коллекцией со строгой типизацией.
Если вы хотите по какой-то причине использовать Hashtable
(например, C # 1.0), вам придется привести объект:*
((Foo)Bar[1]).x