У меня есть программаString.Replace не работает, как ожидалось
public void TestMethod2()
{
string[] keywords =
{
"SELECT", "FROM", "WHERE", "GROUP", "HAVING", "ORDER", "LEFT", "RIGHT", "JOIN", "INNER", "OUTER", "ASC",
"DESC", "AND", "OR","IN", "BETWEEN", "BY", "NOT", "ON", "AS", "CASE", "WHEN", "ELSE", "UPDATE", "SET"
};
var actualString = "SELECT * FROm A Join B On C in D case e join t left outer join inner join right join";
foreach (var text in actualString.Split(' '))
{
var isExists = keywords.Any(x => x.Equals(text, StringComparison.OrdinalIgnoreCase));
if (!isExists)
{
continue;
}
actualString = actualString.Replace(text, text.ToUpper());
}
var expectedString = "SELECT * FROM A JOIN B ON C IN D CASE e JOIN t LEFT OUTER JOIN INNER JOIN RIGHT JOIN";
}
Я новичок в C#. Я не понимаю, почему метод Replace() не работает должным образом. Он показывает выход SELECT * FROM A JOIN B ON C IN D СЛУЧАЙ е РЕГИСТРИРУЙТЕСЬ т LEFT OUTER JOIN INNER JOIN RIGHT JOIN
Может кто-то пожалуйста просветить меня почему Replace() ведет себя, как это? Спасибо заранее.
Спасибо @Thomas. Понял. –