Linq每次根据我们的枚举器选择5项
我们的列表例如"theList"有100个项目,想要浏览列表并在每次迭代中选择5个项目,
示例代码,我们希望将其更改为我们期望的结果:
        theList = dt.AsEnumerable()
            .Select(row => new CustItem
            {
                Name = row.Field<string>("tName"),
                Title = row.Field<string>("tTitle"),
            }).ToList();
我们应该在一个循环中迭代它并且每次处理所选择的5个项目,或者将它传递给我们的其他方法:
类似的东西:
for (int i=0; i < 20 ; i++)
我想"i"在linq select语句中使用枚举器,并使多重性成为我们新结果集的边界.
我有一个 redis db,它有数千个键,我目前正在运行以下行来获取所有键:
string[] keysArr = keys.Select(key => (string)key).ToArray();
但是因为我有很多钥匙,这需要很长时间。我想限制正在读取的键数。所以我试图运行一个执行命令,我一次得到 100 个键:
var keys = Redis.Connection.GetDatabase(dbNum).Execute("scan", 0, "count", 100);
此命令成功运行该命令,但是无法访问该值,因为它是私有的,并且即使 RedisResult 类为其提供了显式转换,也无法转换它:
public static explicit operator string[] (RedisResult result);
有什么想法可以一次从 redis 获取 x 数量的密钥吗?
谢谢
我想一次只处理 X 个文件以进行以下无限循环。下面的代码一次给我所有文件,如何只获得 X 个文件?
while (true)
{
    var files = new DirectoryInfo(@"path")
                .GetFiles()
                .OrderBy(p => p.LastWriteTimeUtc)
                .ToList();
    foreach (var f in files)
    {
        //do some processing
        Console.WriteLine(f.Name);
        f.Delete();
    }
    Thread.Sleep(5000);
}