public class MusicTitles
{
string[] names = {
"Tubular Bells", "Hergest Ridge",
"Ommadawn", "Platinum" };
public IEnumerator<string> GetEnumerator()
{
for (int i = 0; i < 4; i++)
{
yield return names[i];
}
}
public IEnumerable<string> Subset(int index, int length)
{
for (int i = index; i < index + length;
i++)
{
yield return names[i];
}
}
}我们都知道.在foreach调用时,依次访问每一项时,还会访问枚举器.这样就无需一次把所有数据都读入内存.
我想说的是,这个优点,对于上面的第一种方法返回值.貌似在这里没有起作用.
我想说的是,对于上面的第一种方法,全部遍历,.net又没有帮我们做分量导入内存?如果数据很多的话.
{
string[] names = {
"Tubular Bells", "Hergest Ridge",
"Ommadawn", "Platinum" };
public IEnumerator<string> GetEnumerator()
{
for (int i = 0; i < 4; i++)
{
yield return names[i];
}
}
public IEnumerable<string> Subset(int index, int length)
{
for (int i = index; i < index + length;
i++)
{
yield return names[i];
}
}
}我们都知道.在foreach调用时,依次访问每一项时,还会访问枚举器.这样就无需一次把所有数据都读入内存.
我想说的是,这个优点,对于上面的第一种方法返回值.貌似在这里没有起作用.
我想说的是,对于上面的第一种方法,全部遍历,.net又没有帮我们做分量导入内存?如果数据很多的话.
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货