Как выбрать подмножество элементов из анонимного типа IEnumerable? - PullRequest
0 голосов
/ 20 августа 2009

У меня есть следующий код.

MyDataContext db = MyDataContext.Create();
            bc =
                db.BenefitCodes.Select(
                    b =>
                    new
                        {
                            BenCd = b.BenCd
                            , Description = b.BenDesc
                            , BenInterest = b.BenInterest
                            , CodeDescription = string.Format("{0} - {1}", b.BenCd, b.BenDesc)
                        });

Мне пришлось пойти по пути анонимного типа, так как CodeDescription не является свойством BeneCode, и клиент хочет, чтобы он отображался в dropDrownList. В любом случае, мой вопрос, как я могу выбрать подмножество элементов из этого списка? Мне нужно выбрать элементы на основе атрибута BenInterest.

Так что это возвращает IEnumerable, поэтому я пытаюсь пойти по этому пути, и именно здесь я застреваю. Мое намерение состоит в том, чтобы создать новый список IEnumerable и установить для него раскрывающийся источник данных.

 IEnumerator enumerator = BenefitCodes.GetEnumerator(); 
        while(enumerator.MoveNext())
        {
              //What can I do here to return items based on BenInterest? 
              //I basically either want items that have a BenInterest of 'E'
              // or items that DO NOT have a BenInterest of 'E'
              // this is based on the value of a radioButtonList on the page
        }

Итак, как мне создать новый Enumerable того же типа Anonymous, который содержит только нужные элементы.

Спасибо за любую помощь. Ура, ~ Ск

1 Ответ

3 голосов
/ 20 августа 2009

Вы можете просто использовать:

var newCollection = bc.Where( e => e.BenInterest == 'E' );
...