Dump 扩展的用途是什么,为什么如此受欢迎?

What is the Dump extension used for, and why is it so popular?

对我来说,在表达式末尾添加 "Dump" 似乎没有任何不同,至少对于查看 table 中的行而言。你能指出一个方便的例子吗?

如果您只是在处理表达式,则没有理由调用 Dump — 它会自动调用。但是,在语言 selection 框中,LINQPad 允许 selection 语句和程序。一旦你 select 其中之一,除非你调用它,否则你不会得到任何转储输出。

对于语句或程序,您可能希望多次调用转储。在这些情况下,传递 Description 参数很方便,这样您就可以区分输出。

您还可以使用其他参数来塑造输出,例如限制子结构细节的深度。

简单示例(语言=C# 语句):

var integers = Enumerable.Range(1,10);

integers.Select(i => new { i, v = i * i}).Dump("Squares");
integers.Select(i => new { i, v = i * i * i}).Dump("Cubes");

var output = "λ is awesome";
Encoding.UTF8.GetBytes(output)
    .Dump("UTF-8");
Encoding.GetEncoding("Windows-1252").GetBytes(output)
    .Dump("Windows-1252 (lossy)");