匿名クラスはobjectに変換すると一般的な方法では扱えなくなる
基本はLinqとかでの一時生成物用の機能
>>738 のとおり、素直にクラスを定義すればよい

そもそもstringとintが混じるとか、string型の引数で分岐とか変な気もする
設計を見直すべきかも