C#:如何获得变量的初始值?

C#:如何获得变量的初始值?,c#,C#,我们有: string helloWorld=“helloWorld!”; void someVoid(){ helloWorld+=“附加值”; } 但必须在不创建额外变量的情况下访问初始值: string helloWorld=“helloWorld!”; 字符串initialHelloWorld; MyClass(){//构造函数 initialHelloWorld=helloWorld; } void someVoid(){ helloWorld+=“附加文本”; } 我该怎么做?很

我们有:

string helloWorld=“helloWorld!”;
void someVoid(){
helloWorld+=“附加值”;
}
但必须在不创建额外变量的情况下访问初始值:

string helloWorld=“helloWorld!”;
字符串initialHelloWorld;
MyClass(){//构造函数
initialHelloWorld=helloWorld;
}
void someVoid(){
helloWorld+=“附加文本”;
}

我该怎么做?很抱歉,我不太了解C#

正如评论中提到的那样,你问的问题有点不清楚,但我想尝试一下

string initial=“Hello World”//这是我们的初始值

string modified=initial+”,你好吗?;//我们的修改值

modified
将包含修改后的值(返回了一个新的连接字符串-因此我认为说它被严格修改是不正确的),但是您仍然可以访问
initial
,它将包含原始值。我怀疑你想做些别的事情,但是这是一个测试水的问题,如果你能提供一些更具体的东西,我会更新这个答案

编辑:鉴于您的上述评论,我认为我们可以提供帮助

因此,您需要一个具有可更改值的显示字符串,例如游戏中的分数。在C#中,这可以通过多种方式实现,我通常建议使用字符串插值,但不确定Unity的C#风格是否支持这一点

我们真正想要追踪的是两件事

string template=“您的分数为{0}”

int评分=5分

要将其格式化以使其工作,我们只需执行以下操作:

string结果=string.Format(模板、分数)

这将导致你想要实现的目标


编辑2:我强烈建议你离开Unity一段时间,在进入游戏世界之前,先学习一些C#教程来理解这门语言:)

正如评论中提到的,你问的问题有点不清楚,但我想尝试一下

string initial=“Hello World”//这是我们的初始值

string modified=initial+”,你好吗?;//我们的修改值

modified
将包含修改后的值(返回了一个新的连接字符串-因此我认为说它被严格修改是不正确的),但是您仍然可以访问
initial
,它将包含原始值。我怀疑你想做些别的事情,但是这是一个测试水的问题,如果你能提供一些更具体的东西,我会更新这个答案

编辑:鉴于您的上述评论,我认为我们可以提供帮助

因此,您需要一个具有可更改值的显示字符串,例如游戏中的分数。在C#中,这可以通过多种方式实现,我通常建议使用字符串插值,但不确定Unity的C#风格是否支持这一点

我们真正想要追踪的是两件事

string template=“您的分数为{0}”

int评分=5分

要将其格式化以使其工作,我们只需执行以下操作:

string结果=string.Format(模板、分数)

这将导致你想要实现的目标


编辑2:我强烈建议您离开Unity一段时间,在进入游戏世界之前,遵循一些C#教程来理解该语言:)

您能解释一下您试图解决的问题是什么,但有必要访问初始值而不创建额外变量吗?欢迎来到这里,@muyoneyo。。你的要求有点不清楚,所以你可能想扩大规模,实现什么目标。还值得注意的是,在C#中,字符串是不可变的,也就是说,它们不能被修改;各种字符串操作返回一个新的、不可变的字符串作为结果。你可能想做一些C#教程!祝你好运。我不想创建一个额外的变量(
initialHelloWorld
)来存储
helloWorld
变量的初始值。为什么不创建另一个变量?你想用这个解决什么问题?问题出在哪里?@muyoneyo请在你的问题中详细说明你到底想做什么。这听起来像是XY问题,没有任何意义。如果可能,请提供完整但简短的源代码,说明您遇到的问题以及您试图解决的问题。您能否解释一下您试图解决的问题,但有必要访问初始值而不创建额外变量?欢迎使用@muyoneyo。。你的要求有点不清楚,所以你可能想扩大规模,实现什么目标。还值得注意的是,在C#中,字符串是不可变的,也就是说,它们不能被修改;各种字符串操作返回一个新的、不可变的字符串作为结果。你可能想做一些C#教程!祝你好运。我不想创建一个额外的变量(
initialHelloWorld
)来存储
helloWorld
变量的初始值。为什么不创建另一个变量?你想用这个解决什么问题?问题出在哪里?@muyoneyo请在你的问题中详细说明你到底想做什么。这听起来像是XY问题,没有任何意义。如果可能的话,提供完整但简短的源代码,显示您遇到的问题和您试图解决的问题。也许他正在寻找一个重置函数,将字符串重置回初始值?至少他可以将字符串本地存储到函数中(前提是他知道…),谢谢你的回答,但我希望看到一种更简短的方法,类似于这个伪代码:
string helloWorld=“helloWorld”;helloWorld=“已修改”;Console.Log(helloWorld.in