我有以下代码,我想知道为什么“资产名称”行的输出将变量粘贴到我的文本的左边而不是右边?有人可以帮忙吗?
这个:
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: Asset Name : {0}
LoadContent: Sprite X Offset : 64
LoadContent: Sprite Y Offset : 32
最佳答案 我的猜测是,asset是一个字符串,因此你调用的是
Debug.WriteLine(string, string)
而不是
Debug.WriteLine(string, object[])
.在这种情况下,第二个参数被解释为“类别”并被添加到输出中.
您可以尝试将其强制转换为对象以调用正确的重载:
Debug.WriteLine("LoadContent: Asset Name : {0}", (object)theAsset);