Сравнение строк с кавычками - PullRequest
1 голос
/ 17 февраля 2012

Здравствуйте, ребята, я пытаюсь создать программу на C #, где я сравниваю две строки, в которых внутри строк они имеют двойные кавычки.Моя проблема в том, как мне сравнить их на равенство, потому что кажется, что компилятор игнорирует слова в кавычках и не дает мне правильное сравнение.

Например, если

string1 = Hi "insert name" here.
string2 = Hi "insert name" here.

Я хочу использовать string1.equals(string2).Но, кажется, это говорит мне, что строки не равны.Как мне это сделать?Пожалуйста, помогите.

PS.Я не имею никакого контроля над тем, как будут выглядеть строки, поскольку они являются динамическими переменными.Поэтому я не могу просто сказать, добавить к нему escape-последовательность.

Ответы [ 2 ]

3 голосов
/ 17 февраля 2012
string s1 = "Hi \"insert name\" here.";
string s2 = "Hi \"insert name\" here.";

Console.WriteLine((s1 == s2).ToString()); //True

У меня нет проблем ...

1 голос
/ 10 июля 2012

.NET не будет игнорировать строковые значения в двойных кавычках при сравнении. Я думаю, что ваш анализ того, что происходит, ошибочен. Например, учитывая эти значения:

var string1 = "This contains a \"quoted value\"";
var string2 = "This contains a \"quoted value\"";
var string3 = "This contains a \"different value\"";

string1.Equals(string2) будет равно true, а string2.Equals(string3) будет равно false.

Вот несколько потенциальных причин, по которым вы не видите ожидаемого результата при сравнении:

  1. Одна строка может содержать другие символы кавычки, чем другая. Например, "this" и “this” - это совершенно разные строки.
  2. Возможно, ваше сравнение не выполнено из-за несоответствия другого контента. Например, одна строка может иметь завершающие пробелы, а другая - нет.
  3. Возможно, вы сравниваете два объекта вместо двух строк . Object.Equals сравнивает, являются ли два объекта одним и тем же объектом. Если вы не имеете дело с String ссылками, может произойти неправильное сравнение.

Есть еще много потенциальных причин вашей проблемы, но это не потому, что сравнение строк игнорирует двойные кавычки. Чем больше деталей вы предоставите в своем вопросе, тем легче нам сузить то, что вы видите.

...