Строки являются неизменяемыми, поэтому вы не можете просто изменить значение этой строки.
Каждое изменение, которое вы хотите внести в строку, приводит к новому экземпляру строки.
Может быть, это то, как вы могли бы достичь того, что вы хотите:
string s = " x in (a, b) y in (c, d) z in (e , f)";
string[] parts = s.Split (')');
StringBuilder result = new StringBuilder ();
foreach( string part in parts )
{
result.Append (part + ") and ");
}
Console.WriteLine (result.ToString ());
Но, может быть, есть лучшие решения ...
В любом случае, как получается, что вы получаете эту строку (которая выглядит как часть предложения where в SQL-выражении) таким образом?