これが私のコードです
class Program
{
static void Main(string[] args)
{
(from d in new DirectoryInfo("E:\\")
.GetDirectories() select d.Name)
.WriteToConsole(Logger.WriteToLog , true);
// .WriteToConsole(Console.WriteLine);
}
}
public static class Logger
{
public static void WriteToLog(dynamic data)
{
string filePath = string.Format("{0}\\log.txt", Environment.CurrentDirectory);
var stream = File.Create(filePath);
stream.Write(Encoding.UTF8.GetBytes(data), 0, Encoding.UTF8.GetByteCount(data));
stream.Flush();
stream.Close();
}
}
public static class WriteExtensions
{
public static void WriteToConsole<T1>(this IEnumerable<T1> data , Action<T1> action, bool carelist = false)
{
if (carelist)
{
// all i want is to invoke action by sending data rather than
// one by one
return;
}
foreach (var item in data)
{
action.Invoke(item);
}
}
}
問題は、コンソールに行ごとに書き込むことができることです..しかし、ファイルに書き込むために、私は一度にすべてを入れたいです..何か助けて..ありがとう