下面的代码片段来自 c# 和 xaml 中的 Windows 8 商店应用程序。我已经从网络上的各种示例中将这段代码放在一起,所以这可能不是最简洁的方法。其中大部分来自 VS2012 中提供的 Grid 模板,我已将我的 web api 作为数据源
请解释以下内容
当我调用 Get 方法时一切正常,并且我将数据返回到 xaml 视图中当我在同一方法中取消注释 Take(10) 时,我没有返回任何数据。
似乎任何尝试放置 LINQ 种类的扩展方法只会停止返回的数据,并且也没有说明原因,它符合要求!
任何帮助表示赞赏
谢谢马克
public class TeamDataSource
{
private static TeamDataSource _sampleDataSource = new TeamDataSource();
private ObservableCollection<TeamDataItem> _items = new ObservableCollection<TeamDataItem>();
public ObservableCollection<TeamDataItem> Items
{
get { return this._items; }
}
public TeamDataSource()
{
this.Initialize();
}
public static IEnumerable<TeamDataItem> Get()
{
var thisdata = _sampleDataSource.Items;
return thisdata;//.Take(10);
}
private async void Initialize()
{
using (var client = new DataServiceClient())
{
List<TeamDataItem> list = await client.Download<List<TeamDataItem>>("/teams");
foreach (var i in list.OrderByDescending(t => t.Points).ThenByDescending(t => t.GoalDiff))
{
TeamDataItem team = i;
_items.Add(team);
}
}
}
}