Q:

Dúvida em como setar o tipo para retornar uma lista

Preciso retornar algumas listas para minha view. Estou usando ViewData. Mas tem um problema, na hora de declarar a variável, eu não sei que tipo colocar. Fiz da forma abaixo e está dando o seguinte erro: foreach statement cannot operate on variables of type 'object' because 'object' does not contain a public definition for 'GetEnumerator'
Como eu declaro a var _listaUnidade? Veja abaixo meu código. Preciso retornar 4 listas semelhantes: UN, Familia, Produto e PDV.
public ActionResult Acao()
        {
            RupturaEntities db = new RupturaEntities();

            var _listaUnidade = new object();

            var monta_arvore = db.Ruptura
                               .Where(m => m.IDMotivo != 7)

                               .Select(rup => new MontaArvoreAcao
                               {
                                   IDRuptura = rup.IDRuptura,
                                   DataRuptura = rup.DataRuptura,
                                   IDMotivo = rup.IDMotivo,
                                   Motivo = rup.Motivo.Motivo1,
                                   IDOrigem = rup.IDOrigem,
                                   CodigoPDV = rup.CodigoPDV,
                                   UF = rup.PDV.UF,
                                   Cidade = rup.PDV.Cidade,
                                   CnpjDescricao = rup.PDV.Cnpj + " - " + rup.PDV.Descricao,
                                   Codigo_Apresentacao = rup.Codigo_Apresentacao,
                                   Unidade_Negocio = rup.Apresentacao.Unidade_Negocio,
                                   Codigo_Unidade_Negocio = rup.Apresentacao.Codigo_Unidade_Negocio,
                                   Franquia = rup.Apresentacao.Franquia,
                                   Familia = rup.Apresentacao.Familia,
                                   Descricao = rup.Apresentacao.Descricao

                               }).ToList().OrderBy(r => r.IDMotivo);

            foreach (var _idmotivo in monta_arvore)
            {
                _listaUnidade = db.Apresentacao
                                .Where(un => un.Codigo_Unidade_Negocio == _idmotivo.Codigo_Unidade_Negocio)
                                .Select(u => new MontaArvoreAcao
                                {
                                    Unidade_Negocio = u.Unidade_Negocio
                                }).ToList().OrderBy(o => o.Unidade_Negocio);
            }

            ViewData["ListaUn"] = _listaUnidade;

            foreach(var _idUn in _listaUnidade)==> Aqui dá o erro
            {

            }

            return View(monta_arvore.ToList());
        }

A:

Bom realmente dessa forma que você fez não vai dar certo, para fazer um foreach é necessário que o objeto seja uma coleção, nesse caso especifico seu a linha:
var _listaUnidade = new object();

Você está criando um objeto, talvez pra resolver seu problema você pode altera-la para:
var _listaUnidade = Enumerable.Empty<object>();

