虽然我已经编写了很长一段时间,但我对C来说相当新 . 所以我正在使用Visual C,似乎无法让我的C#代码逻辑在C中工作 . 对于初学者,我仍然没有在我的项目中设法导入Linq . 我查了很多关于如何在Visual C中获得Linq并且我最终得到了“cpplinq.hpp”,我不知道如何使用它 .

我基本上想在我的C项目中使用以下代码(在C#中)(实际上是一行代码):

var data = File.ReadAllText("MyFilePath");
    var result = Enumerable.Range(1, data.Length / 2)
    .AsParallel()
    .Select(len => new HashSet<string>(
        Enumerable.Range(0, data.Length - len + 1)
            .Select(x => data.Substring(x, len))))
    .SelectMany(t=>t)
    .ToList();

我不想使用性能低效的循环或任何东西 . 你们可以得到上面代码的详细描述以及我需要它的原因here .

我基本上需要将此代码转换为在C中类似地工作的代码 . 上面的代码非常有效,并且以多线程方式工作 . 我之后还需要使用正则表达式([后来的路]与我的问题无关),任何对此的提醒也将受到高度赞赏 .