Как написать содержимое System.collections.specialized.StringCollection для файла?

StackOverflow https://stackoverflow.com/questions/9329548

  •  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();
        }
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top