使用Linq获取精确列表

时间:2013-11-15 01:54:36

标签: c# linq list xaml visual-studio-2012

我的课程DataGroups定义如下:

 public DataGroups(String uniqueId, String title, String subtitle, String imagePath, String description)

在我的Windows 8应用程序的C#代码中,我使用此代码加载XAML页面

  protected override void LoadState(Object navigationParameter, Dictionary<String, Object> pageState)
        {

            var DataGroups = DataSource.GetGroups((String)navigationParameter);
            this.DefaultViewModel["DGroups"] = DataGroups;
        }

GetGroups定义如下

 private ObservableCollection<DataGroups> _allGroups = new ObservableCollection<DataGroups>();
        public ObservableCollection<DataGroups> AllGroups
        {
            get { return this._allGroups; }
        }
    public static IEnumerable<DataGroups> GetGroups(string uniqueId)
        {
            if (!uniqueId.Equals("AllGroups")) throw new ArgumentException("Only 'AllGroups' is supported as a collection of groups");

            return _DataSource.AllGroups;
        }

这将返回数据组的完整列表。

如何使用Linq优化函数,仅获取具有特定Title的数据组列表以在XAML页面上显示?

返回Title与定义值匹配的数据组列表。

1 个答案:

答案 0 :(得分:1)

public List<DataGroups> GetDataGroupsByName(string name) {
     return _allGroups.Where(x => x.Title == name);
}