As someone with a strong bias towards interactive, investigative, "library-first" development, LINQPad is an essential part of my C# toolkit, as every other C# REPL and interactive environment I've tried has come up short in one significant way or another.<p>Essential LINQPad productivity features for me include:<p>1. Flexible visualization tools with sensible defaults and one-click export.<p>2. Ability to easily round-trip copy/paste code snippets between LINQPad and external IDE projects with minimal fuss (e.g., no boilerplate required for expressions, statements, or simple functions).<p>3. Automatic reloading of libraries I'm working on externally in an IDE with minimal IDE rebuild interference.<p>3. Completion on par with VS.<p>4. One-click document cloning.<p>5. NuGet integration, including the ability to search for and update referenced packages.<p>6. A simple, built-in debugger.<p>A typical LINQPad workflow for me (excluding tasks like writing documentation and unit tests for brevity):<p>1. Start with a task of accessing or exporting data from either a set of files in an unknown format or from an application — ideally, but not always, a Web application — without a documented API.<p>2. Create a library project in Rider or VS and a LINQPad document referencing the library.<p>3. Investigate the files or application interactively using LINQPad and other tools (hex editors for investigating binary formats, jq/IPython/PowerShell for JSON and XML, browser dev tools for Web apps, accessibility tools when automating Windows desktop apps, etc.).<p>4. Add data access mechanisms to the library.<p>5. Repeat steps 3 and 4 as necessary, with more and more work being done in LINQPad via the library on each iteration.<p>6. Build simple command-line or graphical tools on top of the library to allow non-programmers to access or export data from similar systems in the future without LINQPad. In cases where non-UI logic in these tools becomes non-trivial, I'll typically prototype this logic in LINQPad and extract it into a library, as well.<p>Finally, as new requirements arise, I can load up existing libraries and LINQPad to analyze and prototype solutions, often leading to initial results delivered to customers in minutes rather than hours.