¿Cómo usar una cadena con comillas dentro?

Tengo la siguiente cadena, que quiero ejecutar como un proceso:

Rundll32 Printui.dll,PrintUIEntry /ia /K /q /m "SHARP MX-5500N PS" /h "Windows NT x86" /v 3 /f sn0hwenu.inf

Sin embargo, dada la presencia de comillas, no puedo insertar esta cadena en C # para hacerlo comstackr, manteniendo toda la estructura original. ¿Cómo debo solucionar esto? Es un poco complicado ya que hay comillas dentro de la cadena.

 string whatever = "Rundll32 Printui.dll,PrintUIEntry /ia /K /q /m \"SHARP MX-5500N PS\" /h \"Windows NT x86\" /v 3 /f sn0hwenu.inf"; 

o

 string whatever = @"Rundll32 Printui.dll,PrintUIEntry /ia /K /q /m ""SHARP MX-5500N PS"" /h ""Windows NT x86"" /v 3 /f sn0hwenu.inf"; 

Puedes poner @ delante de la definición de cadena y poner dos " :

 string myString = @"Rundll32 Printui.dll,PrintUIEntry /ia /K /q /m ""SHARP MX-5500N PS"" /h ""Windows NT x86"" /v 3 /f sn0hwenu.inf" 

Puede leer más sobre cómo escapar de los personajes en cadenas en este artículo:

http://www.yoda.arachsys.com/csharp/strings.html

 string s = "Rundll32 Printui.dll,PrintUIEntry /ia /K /q /m \"SHARP MX-5500N PS\" /h \"Windows NT x86\" /v 3 /f sn0hwenu.inf"; 

tienes que escapar de las comillas usando \ . tener una cadena que dice: Hello "World" deberías escribir "Hello\"World\""

También puede usar Convert.ToChar (34), siendo 34 el ASCII de “.

por ejemplo:

 gitInfo.Arguments = @"commit * " + "-m" + Convert.ToChar(34) + messBox.Text + Convert.ToChar(34); 

es igual a:

 commit * -m "messBox.Text";