我正在閱讀大文本文件中的行。這些文件中有偶爾的字符串,這些字符串位於預設的可能性列表中,我希望檢查當前正在讀取的行是否與可能性列表中的任何字符串匹配。如果有匹配,我想簡單地將它們追加到不同的列表中,並繼續我用來讀取文件的循環。有沒有更好的方法調用C#中的對象列表的比較?
我只是想知道是否有一個更有效的方法來做一個line.Contains()或equivilance檢查對比說列表中的第一個元素,然後第二個等,而不使用嵌套循環或長如果充滿「或」的陳述。什麼我現在有
例子:
List<string> possible = new List<string> {"Cat", "Dog"}
using(StreamReader sr = new StreamReader(someFile))
{
string aLine;
while ((aLine = sr.Readline()) != null)
{
if (...)
{
foreach (string element in possible)
{
if line.Contains(element) == true
{
~add to some other list
continue
}
}
~other stuff
}
}
因此,如果行包含這些值中的任何一個,您想要將該行添加到列表中? –
對'可能的'使用'HashSet'會對更大的集合產生更好的性能。 – Magnus
@ Selmann22是的。 – JSA