我注意到我写的一个对象的完全限定名称回来了很有趣。在逐步执行我的 ToString() 方法时,我注意到在连接字符串时,字符对象一直被排除在该过程之外。
这是正在发生的事情的一个步骤
前
后
在哪里Char seperator = ':';
这是我的 tostring 函数的代码:
public String ToString(Representaion rep)
{
String toReturn = "kuid";
Char separator = ':';
switch (rep)
{
case Representaion.Colons:
break;
case Representaion.Underscores:
separator = '_';
break;
case Representaion.UCROnly:
toReturn = userID + ":" + contentID;
toReturn += revision == 0 ? "" : ":" + revision;
return toReturn;
}
toReturn += version == 0 ? "" : version.ToString();
toReturn += separator + userID + separator + contentID;
toReturn += revision == 0 ? "" : separator + revision.ToString();
return toReturn;
}
你在哪里
private byte version;
private int userID;
private int contentID;
private byte revision;
一种情况可能如下所示:
已经在本地面板中查看,似乎 VS 正在得到一个字符串,而不是我认为的字符串。
我放入了另一个 ToString 函数来处理没有参数的调用(它通过使用 Representation.Colons 调用参数化函数来实现):
public override string ToString()
{
return this.ToString(KUID.Representaion.Colons);
}
谁能告诉我为什么我没有得到我认为我应该得到的东西?(预期结果:kuid2:72938:40175:2)