我有一段迭代 XML 属性的代码:
string groupName;
do
{
switch (/* ... */)
{
case "NAME":
groupName = thisNavigator.Value;
break;
case "HINT":
// use groupName
但是这样我得到了使用未分配变量的错误。如果我将某些内容分配给 groupName,则我无法更改它,因为这就是字符串在 C# 中的工作方式。任何解决方法?
最佳答案
字符串 在 .NET 中是不可变的,你是对的,但你认为字符串变量 不能更改的假设是错误的。
这是有效的并且没问题:
string groupName = null;
groupName = "aName";
groupName = "a different Name";
如果您执行以下操作,您的代码将不会出错:
string groupName = string.Empty; // or null, if empty is meaningful
do
{
switch (/* ... */)
{
case "NAME":
groupName = thisNavigator.Value;
break;
case "HINT":
// use groupName
关于c# - 使用未分配的变量(字符串),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8378070/