我有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;
}
}
答案 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));