Как написать содержимое System.collections.specialized.StringCollection для файла?
-
27-10-2019 - |
Вопрос
Мне не повезло в поисках очевидных мест для ответа на то, почему использование file.writealllines (); не работает при выводе StringCollection:
static System.Collections.Specialized.StringCollection infectedLog = new System.Collections.Specialized.StringCollection();
Опустите код здесь, который заполнял InfrectedLog .......
File.WriteAllLines(@"C:\CustomSearchInfectedFiles.txt", infectedLog);
Может ли кто -нибудь либо сказать мне, что я делаю не так, либо указать мне в направлении объяснения, которое порадует?
Решение
А File.WriteAllLines
ожидает IEnumerable<string>
(или string[]
) тогда как StringCollection
Единственные реализации IEnumerable
(Обратите внимание на отсутствие общего типа). Попробуйте следующее:
using System.Linq;
...
File.WriteAllLines(@"C:\CustomSearchInfectedFiles.txt", infectedLog.Cast<string>());
Другие советы
попробуй это
File.WriteAllLines(@"C:\CustomSearchInfectedFiles.txt", infectedLog.Cast<string>());
Проблема в том, что StringCollection - это действительно холодная коллекция. Он не реализует ienumerableu003CT> , и это не массив, поэтому для него нет перегрузки писательских линий.
Ты можешь это сделать:
File.WriteAllLines(theFileName, infectedLog.Cast<string>());
Или вы можете переключиться на более современный тип коллекции, например, списокu003Cstring> Анкет
using (StreamWriter w = File.AppendText(@"testfile.txt"))
{
foreach (var line in sc)
{
w.WriteLine(line);
}
w.Close();
}