Visual Studio 中的 WriteLine 就像在 LinqPad 中一样
WriteLine in Visual Studio like in LinqPad
我必须在 LinqPad 中编写
Console.WriteLine(result)
在 Visual Studio 我必须为每个案例构建一些特殊的东西,比如
result.ToList().ForEach(x=> Console.WriteLine(x));
但这并不适用于所有情况。
我有一个扩展方法,项目在Visual Studio什么
可以做像 LinqPad 一样的 Magic 吗?
看看ObjectDumper, which is also available as nuget。使用这个包,您可以非常简单地将复杂的结构转储到您的控制台。使用 Console.Out
作为参数获取控制台所需的 TextWriter
。这是一个例子:
ObjectDumperExtensions.Dump(root, "root", Console.Out);
您可以为所有应用程序编写自己的助手。
快速示例:
class Car
{
public string Id;
public string Name;
public override string ToString()
{
return String.Concat(Id, Name);
}
}
public static class Helper
{
public static void WriteToConsole<T>(this IList<T> collection)
{
Console.WriteLine(string.Join("\t", collection.ToArray()));
}
}
class Program
{
static void Main(string[] args)
{
List<Car> cars = new List<Car>();
cars.Add(new Car() { Id = "1", Name = "Polonez Caro" });
Helper.WriteToConsole(cars);
Console.ReadKey();
}
}
我必须在 LinqPad 中编写
Console.WriteLine(result)
在 Visual Studio 我必须为每个案例构建一些特殊的东西,比如
result.ToList().ForEach(x=> Console.WriteLine(x));
但这并不适用于所有情况。
我有一个扩展方法,项目在Visual Studio什么 可以做像 LinqPad 一样的 Magic 吗?
看看ObjectDumper, which is also available as nuget。使用这个包,您可以非常简单地将复杂的结构转储到您的控制台。使用 Console.Out
作为参数获取控制台所需的 TextWriter
。这是一个例子:
ObjectDumperExtensions.Dump(root, "root", Console.Out);
您可以为所有应用程序编写自己的助手。
快速示例:
class Car
{
public string Id;
public string Name;
public override string ToString()
{
return String.Concat(Id, Name);
}
}
public static class Helper
{
public static void WriteToConsole<T>(this IList<T> collection)
{
Console.WriteLine(string.Join("\t", collection.ToArray()));
}
}
class Program
{
static void Main(string[] args)
{
List<Car> cars = new List<Car>();
cars.Add(new Car() { Id = "1", Name = "Polonez Caro" });
Helper.WriteToConsole(cars);
Console.ReadKey();
}
}