c#中的字符串插入问题

Nar*_*uto 1 .net c# asp.net string

我试图在C#字符串的位置插入一个字符串,它失败了

这是片段.

  if(strCellContent.Contains("<"))
   {
         int pos = strCellContent.IndexOf("<");
         strCellContent.Insert(pos,"&lt;");
   }
Run Code Online (Sandbox Code Playgroud)

请告诉我解决方案

Sha*_*fiz 7

返回值包含您想要的新字符串.

strCellContent = strCellContent.Insert(pos,"&lt;");
Run Code Online (Sandbox Code Playgroud)


Jon*_*eet 7

Gunner和Rhapsody已经给出了正确的改变,但是值得知道为什么你的原始尝试失败了.String类型是不可变的 - 一旦你有了一个字符串,你就无法改变它的内容.看起来他们正在改变它的所有方法实际上只返回一个新值.例如,如果你有:

string x = "foo";
string y = x.Replace("o", "e");
Run Code Online (Sandbox Code Playgroud)

字符串x引用仍将包含字符"foo"...但字符串y引用将包含字符"费用".

这会影响字符串的所有使用,而不仅仅是您现在正在查看的特定情况(这肯定会更好地处理使用Replace,甚至更好的是仍然知道如何执行所需的所有转义的库调用).