Вопрос

Можно ли изменить значение, хранящуюся внутри bar После того, как он был добавлен?

Я пробовал «бокс» строку foo Но это не работает.

string foo = "aaaaaaa";
var bar = new System.Web.UI.HtmlControls.HtmlGenericControl("div") { InnerHtml =foo };
foo = "zzzzzz";
plcBody.Controls.Add(bar);//want this to contain 'zzzzzz'
Это было полезно?

Решение

Чтобы сделать это, вы должны установить значение, как это:

string foo = "aaaaaaa";
var bar = new System.Web.UI.HtmlControls.HtmlGenericControl("div") { InnerHtml = foo };
bar.InnerHtml = "zzzzzz";
plcBody.Controls.Add(bar);

Сами строки неизменны (в .NET по крайней мере, это не понравильно верно), вы не можете изменить его после того, как оно прошло ... Вы проходили стоимость из переменной, которая является строкой ссылкой - вы не передавали ссылку на оригинал Переменная, Настолько изменив исходную переменную для обозначения другой строки ничего не делает. Когда вы меняете переменную, вы меняете, какую строку foo Относится к, не редактировать свою исходную строку, как это неизменной.

Если проще подумать, вы проходите «что foo означает «не»foo сам ", так как только эта струна идет на то, что вы передаете его, это имеет нет связи к исходной переменной.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top