title: What’s the difference between Process and ProcessStartInfo in C#?
body: <p>What’s the difference between <code>Process</code> and <code>ProcessStartInfo</code>? I’ve used both to launch external programs but there has to be a reason there are two ways to do it. Here are two examples.</p>
  
  <pre><code>Process notePad = new Process();
  notePad.StartInfo.FileName = "notepad.exe";
  notePad.StartInfo.Arguments = "ProcessStart.cs";
  notePad.Start();
  </code></pre>
  
  <p>and</p>
  
  <pre><code>ProcessStartInfo startInfo = new ProcessStartInfo();
  startInfo.FileName = "notepad.exe";
  startInfo.Arguments = "ProcessStart.cs";
  Process.Start(startInfo);
  </code></pre>