C#Do-Loop不向字符串添加字符

Mat*_*ent 6 c#

好吧,我有这个字符串Player.Character与这个它"Average Man{[Attributes (Mind 10) (Body 10) (Soul 10)]}".

我有这个do循环设置,以便它应该一次通过这个字符串1字符,看看它是否"["在添加每个字符时检查到另一个字符串ContainerName.事情是ContainerName只有这个"[",我希望它应该有"Average Man{".

如果有人可以帮助我理解为什么会发生这种情况,并且可能是我的成熟思想可以解决的解决方案,那么我将是最亲切的.

哦,这是我的代码.

int count = -1;

string ContainerName = "";

//Finds Start of container
do
{
    count = count + 1;
    ContainerName = ContainerName + Player.Character[count].ToString();
} while (Player.Character[count].ToString() != "[" && 
         Player.Character.Length - 1 > count);

textBox1.Text = ContainerName;
Run Code Online (Sandbox Code Playgroud)

ant*_*ell 1

你的代码工作正常(我刚刚测试过)。ContainerName 的值为“Average Man{[”。Player.Charecter 可能没有正确的值。我使用了 Player.Charecter = "普通人{[属性 (心灵 10) (身体 10) (灵魂 10)]}"

一个更优雅的解决方案是

TextBox1.Text = Player.Character.Substring(0, Player.Character.IndexOf('['))
Run Code Online (Sandbox Code Playgroud)