Добавление двойных кавычек в строку @ - PullRequest
1 голос
/ 11 апреля 2011

Насколько я понял, строка со знаком @ требует набора двойных кавычек для вставки кавычки в строку?

Я попробовал этот принцип, но безрезультатно. Следующая строка работает, но если бы я заменил эти строки значениями параметров, то я не могу получить правильное значение компиляции

var node = doc.SelectSingleNode(@"//node[@label = ""Chemist Name""]/node[@label = ""John,Smith""]");

моя попытка (из которой я попробовал несколько версий и попал сюда, где я сейчас и готов!)

var node = doc.SelectSingleNode(@"//node[@label = " + ""+parentID+"" + "]/node[@label = " + ""+ name +"" + "]");

Может кто-нибудь помочь мне, пожалуйста?

Ответы [ 4 ]

5 голосов
/ 11 апреля 2011

Используйте одинарные кавычки:

var node = doc.SelectSingleNode
               (@"//node[@label = 'Chemist Name']/node[@label = 'John,Smith']");

var node = doc.SelectSingleNode(
              string.format(@"//node[@label = '{0}']/node[@label = '{1}']"
                            , parentID, name));
0 голосов
/ 31 июля 2013

Написать метод расширения для расширения строки:

public static string Quote(this string input)
{
    return string.Format(@"""{0}""", input);
}

А затем используйте его следующим образом:

var node = doc.SelectSingleNode(@"//node[@label = " + parentID.Quote() + "]/node[@label = " + name.Quote()  + "]");

Или просто:

 var node = doc.SelectSingleNode(string.Format(@"//node[@label = {0}"]/node[@label = {1}"]",parentID.Quote(), name.Quote());
0 голосов
/ 11 апреля 2011
var node = doc.SelectSingleNode(string.format(@"//node[@label = ""{0}""]/node[@label = ""{1}""]", parentId, name));
0 голосов
/ 11 апреля 2011

Вам не хватает еще одной двойной кавычки, чтобы закрыть добавляемую строку, а также @ перед каждой строкой, содержащей "".

Попробуйте это:

var node = 
 doc.SelectSingleNode(@"//node[@label = """ + parentID + @"""]/node[@label = """ + name + @"""]");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...