我有以下代码,我想知道为什么输出行'资产名称'将变量粘贴到文本的左侧而不是右侧?有人可以帮忙吗?
此:
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
答案 0 :(得分:2)
我的猜测是theAsset
是string
,因此您正在调用Debug.WriteLine(string, string)
而不是Debug.WriteLine(string, object[])
。在这种情况下,第二个参数被解释为“类别”并且前置于输出。
您可以尝试将其强制转换为object
以调用正确的重载:
Debug.WriteLine("LoadContent: Asset Name : {0}", (object)theAsset);