Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 加载ienumerable中的第一项、下一项和上一项_C#_List_Foreach_Ienumerable - Fatal编程技术网

C# 加载ienumerable中的第一项、下一项和上一项

C# 加载ienumerable中的第一项、下一项和上一项,c#,list,foreach,ienumerable,C#,List,Foreach,Ienumerable,嗨,我有一个程序,基本上是从IEnumerable加载新闻文章。我启动了一个方法,该方法只需加载此IEnumerable中的第一项。然后在用户手势(向左或向右滑动)上,将加载IEnumerable中的上一项或下一项。此外,如果用户尝试加载超出范围的索引项(例如-1或大于IEnumerable计数的项),则不会执行任何操作 我写过许多迭代IEnumerable的方法,但我发现解决这个问题有点困难://首先通过调用ToList将可枚举项转换为列表。然后,您可以跟踪当前索引并采取相应的行动 编辑:如果

嗨,我有一个程序,基本上是从IEnumerable加载新闻文章。我启动了一个方法,该方法只需加载此IEnumerable中的第一项。然后在用户手势(向左或向右滑动)上,将加载IEnumerable中的上一项或下一项。此外,如果用户尝试加载超出范围的索引项(例如-1或大于IEnumerable计数的项),则不会执行任何操作


我写过许多迭代IEnumerable的方法,但我发现解决这个问题有点困难://

首先通过调用ToList将可枚举项转换为列表。然后,您可以跟踪当前索引并采取相应的行动


编辑:如果您希望仅在需要时“加载”项目,则可以将每个项目包装在一个文件中。这样,您可以具体化整个列表,但仅在需要时加载单个项。这也将只加载一个项目一次,即使用户来回轻弹。

可能的dup:我想你可能没有抓住要点,他不想加载所有内容。他想要延迟加载的优势,但能够向前和向后枚举。谢谢你提供的信息,我会查找lazy,因为这正是我想要的!