2010-10-11 3 views
0

de facile, mais ennuyeux moi :)Mettre une variable dans une Guillemet chaîne échappée

Je suis en train de subsitute une variable C# dans une chaîne qui est déjà échappé et a besoin d'une double citation de chaque côté de la chaîne pour la requête WMI à travailler.

numéro un en dessous des œuvres, c'est là où je coder en dur la valeur de chaîne

1.)

ManagementObjectSearcher searchObject = new  ManagementObjectSearcher("root\\MicrosoftBizTalkServer", "Select * from MSBTS_HostInstance where HostType=1 AND RunningServer = \"s2vm8\"", enumOptions); 

Numéro deux, je suis en train de mettre dans la variable C#, mais ne savez pas comment faire cela dans une chaîne déjà échappé ...

2.)

  ManagementObjectSearcher searchObject = new ManagementObjectSearcher("root\\MicrosoftBizTalkServer", "Select * from MSBTS_HostInstance where HostType=1 AND RunningServer = \"<c# variable>\"", enumOptions); 

Ma chaîne à la fin pour l'appel WMI doit ressembler à ceci:

Select * from MSBTS_HostInstance where HostType=1 AND RunningServer = "blah..." 

Merci pour votre aide!

Conor

Répondre

4

façon Préférable de le faire:

String.Format("Select * from MSBTS_HostInstance where HostType=1 AND RunningServer = \"{0}\"", variable); 

Et un autre:

"Select * from MSBTS_HostInstance where HostType=1 AND RunningServer = \"" + variable + "\"" 

En outre, il est une bonne pratique C# pour remplacer

"root\\MicrosoftBizTalkServer" 

avec

@"root\MicrosoftBizTalkServer" 
+0

Hey, merci pour la réponse rapide, j'ai essayé, mais cela ne fonctionne pas parce que ManagementObjectSearcher prend un certain nombre d'arguments et je ne peux pas ajouter dans mon auto avec {0}, ou au moins l'complier ne laissera pas moi :) – Conor

+0

Oopps, désolé je n'ai pas vu le string.format au début :( – Conor

+0

Parfait, savait que c'était facile, été trop longtemps depuis que j'ai codé avec des chaînes en C# !! – Conor

Questions connexes