相关疑难解决方法(0)

在linq中创建批次

有人可以建议在linq中创建一定大小的批次吗?

理想情况下,我希望能够以一些可配置的数量块执行操作.

c# linq

84
推荐指数
7
解决办法
4万
查看次数

Linq每次迭代选择5项

Linq每次根据我们的枚举器选择5项

我们的列表例如"theList"100个项目,想要浏览列表并在每次迭代中选择5个项目,

示例代码,我们希望将其更改为我们期望的结果:

        theList = dt.AsEnumerable()
            .Select(row => new CustItem
            {
                Name = row.Field<string>("tName"),
                Title = row.Field<string>("tTitle"),
            }).ToList();
Run Code Online (Sandbox Code Playgroud)

我们应该在一个循环中迭代它并且每次处理所选择的5个项目,或者将它传递给我们的其他方法:

类似的东西:

for (int i=0; i < 20 ; i++)
Run Code Online (Sandbox Code Playgroud)

我想"i"linq select语句中使用枚举器,并使多重性成为我们新结果集的边界.

c# linq

34
推荐指数
3
解决办法
2万
查看次数

StackExchange.Redis 扫描 x 数量的密钥

我有一个 redis db,它有数千个键,我目前正在运行以下行来获取所有键:

string[] keysArr = keys.Select(key => (string)key).ToArray();
Run Code Online (Sandbox Code Playgroud)

但是因为我有很多钥匙,这需要很长时间。我想限制正在读取的键数。所以我试图运行一个执行命令,我一次得到 100 个键:

var keys = Redis.Connection.GetDatabase(dbNum).Execute("scan", 0, "count", 100);
Run Code Online (Sandbox Code Playgroud)

此命令成功运行该命令,但是无法访问该值,因为它是私有的,并且即使 RedisResult 类为其提供了显式转换,也无法转换它:

public static explicit operator string[] (RedisResult result);
Run Code Online (Sandbox Code Playgroud)

有什么想法可以一次从 redis 获取 x 数量的密钥吗?

谢谢

c# redis stackexchange.redis

5
推荐指数
2
解决办法
4555
查看次数

C# 只获取 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);
}
Run Code Online (Sandbox Code Playgroud)

c#

1
推荐指数
1
解决办法
94
查看次数

标签 统计

c# ×4

linq ×2

redis ×1

stackexchange.redis ×1