C # Folks! У меня есть 2 списка, которые я хочу сравнить.
Пример :
List<string> ONE contains:
A
B
C
List<string> TWO contains:
B
C
Я знаю, что могу достичьрезультаты ОДНОГО, если я сделаю:
ONE.Except(TWO);
Результаты : A
Как я могу сделать то же самое, если мои списки содержат файлрасширение для каждого элемента?
List<string> ONE contains:
A.pdf
B.pdf
C.pdf
List<string> TWO contains: (will always have .txt extension)
B.txt
C.txt
Результаты должны = A.pdf
Я понял, что мне нужно отобразить полное имя файла (A.pdf) в отчетев конце, поэтому я не могу удалить расширение, как я делал изначально.
Спасибо за помощь!
РЕДАКТИРОВАТЬ : Вот какЯ пошел по этому пути, но я не уверен, является ли это «лучшим» или «наиболее эффективным» способом для его решения, но, похоже, он работает ...
foreach (string s in ONE)
{
//since I know TWO will always be .txt
string temp = Path.GetFileNameWithoutExtension(s) + ".txt";
if (TWO.Contains(temp))
{
// yes it exists, do something
}
else
{
// no it does not exist, do something
}
}