【问题标题】:Cross join two txt files in c#在c#中交叉连接两个文本文件
【发布时间】:2017-03-11 16:57:03
【问题描述】:

您好,我是 c# 新手,希望通过交叉连接两个文件来实现以下目标

文件 A 包含: 山姆 内存 大坝

文件 B 包含: 库马尔 库玛丽

我需要对两个文件进行交叉连接并获得以下结果。请注意,我的文件有数百万条记录,我需要为所有记录实现相同的记录。

萨姆库玛 桑库马尔 拉姆库马尔 拉姆库马尔 达库马尔 丹库马里

期待一种通用且优化的处理方式。

【问题讨论】:

  • 如果您尝试一些代码,这效果最好,如果它不起作用,请向我们展示代码,获得的结果。那么我们可以提供帮助

标签: c# windows forms


【解决方案1】:
var fileA = File.ReadAllText("fileA.txt").Split(new[] {" "}, StringSplitOptions.None);
var fileB = File.ReadAllText("fileB.txt").Split(new[] {" "}, StringSplitOptions.None);

var join = (from a in fileA from b in fileB select a + b).ToArray();
// output
foreach(var x in join)
  Console.WriteLine(x);

【讨论】:

  • 谢谢notesjor,这真的很有帮助。但是,当我将相同的逻辑应用于每行中包含一个单词且带有 '\n' 的文件时,它也会在两行中给我一个结果......我在这里遗漏了什么。你们也可以告诉我如何在新文件中写入相同的输出。
  • 在 C# 中加入字符串数组使用: string.Join(" ", join);第一个参数“”是每个项目的分隔符。如果你使用 string.Join(";", join);您可以构建一个 CSV 文件。存储结果 File.WriteAllText("output.txt", string.Join(";", join));
猜你喜欢
  • 1970-01-01
  • 2023-03-03
  • 2020-04-05
  • 1970-01-01
  • 2016-11-28
  • 1970-01-01
  • 2012-02-03
  • 2022-01-27
相关资源
最近更新 更多