为什么Debug.Writeline会在我的文本左侧输出一些变量?

时间:2014-09-21 21:39:15

标签: c#

我有以下代码,我想知道为什么输出行'资产名称'将变量粘贴到文本的左侧而不是右侧?有人可以帮忙吗?

此:

System.Diagnostics.Debug.WriteLine(" ------------ LoadContent ------------");
System.Diagnostics.Debug.WriteLine("LoadContent: Asset Name : {0}", theAsset);
System.Diagnostics.Debug.WriteLine("LoadContent: Sprite X Offset : {0}", thisSpriteXCentreOffset);
System.Diagnostics.Debug.WriteLine("LoadContent: Sprite Y Offset : {0}", thisSpriteYCentreOffset);

输出(粗线是意外的线):

  

------------ LoadContent ------------

     

SpaceShip:LoadContent:资产名称:{0}

     

LoadContent:Sprite X Offset:64

     

LoadContent:Sprite Y Offset:32

1 个答案:

答案 0 :(得分:2)

我的猜测是theAssetstring,因此您正在调用Debug.WriteLine(string, string)而不是Debug.WriteLine(string, object[])。在这种情况下,第二个参数被解释为“类别”并且前置于输出。

您可以尝试将其强制转换为object以调用正确的重载:

Debug.WriteLine("LoadContent: Asset Name : {0}", (object)theAsset);