6

selectステートメントから除外したいイベントIDのリストがありますが、これを実装する方法がわかりません:

これは、イベント ID のリストを保存するものです

List<int> ExcludedEvents;

これは私の select ステートメントです (XML フィードから)

var allEvents = from eventsList in xmlDoc.Elements("shows").Elements("Show")
                select new EventFeed()
                  {
                      EventName = eventsList.Attribute("Name").Value,
                      EventSummary = eventsList.Attribute("ShortDesc").Value,
                      EventDetails = eventsList.Attribute("LongDesc").Value,
                      EventShowCode = eventsList.Attribute("Code").Value
                  };

eventId がEventShowCode値と一致するイベントを除くすべてのイベントを選択したい

私はexcept演算子を見てきましたが、それを実装する方法がわかりません

4

1 に答える 1

4

質問のコードに基づいて、次のようになります...

var filteredEvents = allEvents.Where(myEvent => !ExcludedEvents.Contains(myEvent.EventShowCode));

または、select ステートメントの最後に追加したい場合は、その Where を取得して、前のクエリから Select の最後にドロップします...

var filteredEvents = xmlDoc.Elements("shows").Elements("Show") 
                     .Select( new  
                     { 
                         EventName = eventsList.Attribute("Name").Value, 
                         EventSummary = eventsList.Attribute("ShortDesc").Value, 
                         EventDetails = eventsList.Attribute("LongDesc").Value, 
                         EventShowCode = eventsList.Attribute("Code").Value 
                     })
                     .Where(myEvent => !ExcludedEvents.Contains(myEvent.EventShowCode));
于 2010-04-12T14:14:59.710 に答える