Powershell read-host will read from the console. You could execute the read-host from within C#. Executing PS commands from C# is documented on MSDN in the sections about Powershell hosting. The following demonstrates the methods calls with a Powershell script - should be easy to convert to C#. Note that $host must be passed into the C# program. Therefore you'd have to load the C# program as an assembly within ISE and invoke Main() like: [myclass]::Main($host) (versus invoking the EXE as a standalone program)
[powershell]::create().AddScript('param($ho) $ho.ui.readline()').AddArgument($host).Invoke()