gpt4 book ai didi

c# - 关于拳击/c#的基本问题

转载 作者:太空狗 更新时间:2023-10-30 00:46:36 25 4
gpt4 key购买 nike

是否可以在添加 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);

Strings themselves are immutable (至少在 .NET 中,这不是普遍正确的),它被传递后你不能改变它......你传递了变量的 value,这是一个字符串引用 - 你尚未传递对原始变量 的引用,因此更改原始变量以引用不同的字符串不会执行任何操作。当您更改变量时,您正在更改 foo 引用的字符串,而不是编辑其原始字符串,因为它是不可变的。

如果更容易想到,您传递的是“foo 的含义”而不是“foo 本身”,所以一旦该字符串进入您传递的任何内容它变成了,它与原始变量没有关系

关于c# - 关于拳击/c#的基本问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2833755/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com