Intersect按字母顺序对结果进行排序c#

时间:2016-02-18 23:25:52

标签: c# intersect

好吧这是我在堆栈的第一个问题。所以我有当前的代码(请注意我使用c#) -

   public static void ReadSuburbs()
        {
            String directory = @"C:\Address Sorting\";
            String[] linesA = File.ReadAllLines(Path.Combine(directory, "FileA-Database.txt"));
            String[] linesB = File.ReadAllLines(Path.Combine(directory, "Suburbs.txt"));

            IEnumerable<String> onlyB = linesB.Intersect(linesA);

            File.WriteAllLines(Path.Combine(directory, "ResultsSuburbs.txt"), onlyB);
        }

我想要做的是从数据库a获取所有郊区并将其打印出来与文本文件中的完全相同。生病了就给你一个我想要得到的结果的例子。

让我们说我的数据库包含街道名称

12 margret st kallangur

14 simpson st zillmere

43 pauls rd bowen hills

并且,郊区.txt包含澳大利亚所有郊区的列表

我正在寻找的结果将是

kallangur

zillmere

bowen hills

但是我得到的是

Bowen HIlls
Kallangur
Zillmere

我可以使用另一种方法,除了相交以获得我正在寻找的结果吗?

编辑:基本上我所拥有的是一个数据库,其中包含错误输入的地址 - 所以基本上我们有 12 saint street Kallangur 以及此数据库中的许多其他地址以及我需要做什么从街道名称中分隔出郊区。

1 个答案:

答案 0 :(得分:1)

如果你有

IEnumerable<String> onlyB = linesB.Intersect(linesA);

linesB的内容定义了结果序列的顺序。如果你想要linesA来定义顺序,只需转动语句并使用

IEnumerable<String> onlyB = linesA.Intersect(linesB);