WPF比较单独文件中的字符串

时间:2011-03-27 12:07:42

标签: c# wpf

我有2个文件,一个是CSV文件,第二个是文本文件。我的要求是我想检查CSV文件中包含的字符串是否存在于文本文件中。在我执行此检查后,我想将文本文件中存在的那些CSV字符串添加到我将用于绑定的IEnnumerable集合中。例如,如果CSV包含“aa”,“bb”,“cc”和文本文件包含“bb”,“ee”,“ff”,“cc”,“bb”我的收藏品应包含“bb”,“cc”, “BB”。我已经开始使用下面的代码从CSV文件中读取。任何人都可以提供解决方案吗?谢谢 - 本

public class VM
{
    public VM()
    {
        Words = LoadWords(filePath);
    }

    public IEnumerable<string> Words { get; private set; }

    string filePath = @"Z:\My Documents\Words.csv";

    private static IEnumerable<string> LoadWords(String filePath)
    {

        List<String> words = new List<String>();

        try
        {
            foreach (String line in File.ReadAllLines(filePath))
            {
                string[] rows = line.Split(',');

                words.AddRange(rows);
            }

        }
        catch (Exception e)
        {
            System.Windows.MessageBox.Show(e.Message);
        }

            return words;
    }
}

1 个答案:

答案 0 :(得分:0)

您可以使用LINQ执行此操作,例如:

var csv = new[] { "aa", "bb", "cc" };
var text = new[] { "bb", "ee", "ff", "cc", "bb" };

IEnumerable<string> collectionToBind = text.Where(t => csv.Contains(t));