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

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

这个:

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);
点赞