C# Console.WriteLine与Print
我知道这听起来可能是一个非常愚蠢的问题,但我很困惑,只能找到“WriteLine vs debug.log”这个问题的答案,而不是这个问题。我最初开始使用VisualStudio,在那里我学会了使用Console.WriteLine(“示例文本”);为了在屏幕上显示一个句子,我已经开始使用Unity,在那里我使用的是简单的打印(“示例文本”) 我应该用哪一个取决于我的偏好?它们是否都做相同的事情,就像“int”和“decimal”之间的差异有时并不总是明显一样?还是根据我使用的程序来使用它们?如果是后者,如果我不得不根据我使用的程序改变使用它的方式,这是否违背了它作为一种语言的目的C# Console.WriteLine与Print,c#,unity3d,C#,Unity3d,我知道这听起来可能是一个非常愚蠢的问题,但我很困惑,只能找到“WriteLine vs debug.log”这个问题的答案,而不是这个问题。我最初开始使用VisualStudio,在那里我学会了使用Console.WriteLine(“示例文本”);为了在屏幕上显示一个句子,我已经开始使用Unity,在那里我使用的是简单的打印(“示例文本”) 我应该用哪一个取决于我的偏好?它们是否都做相同的事情,就像“int”和“decimal”之间的差异有时并不总是明显一样?还是根据我使用的程序来使用它们?如
如果这似乎是一个毫不相关的问题,我表示歉意,但我宁愿确定,也不愿继续因为这个问题而忽略它,并进一步做错事情 对于Unity代码,我建议在类中使用静态方法,例如,等等 这些方法还有其他变体,如和,您可以在上面的第一个链接中找到。在编辑器中,您可以使用“日志”面板上方的按钮过滤日志,以仅显示所需的消息,例如,仅当其他日志消息的噪音过大时才显示错误 Unity的方法是
Debug.Log
的薄包装,它有两个缺点:
- 它缺少上述方法的一些功能,例如在Unity编辑器中传递将调试消息绑定到对象的
参数的能力,以及在编辑器中按日志类型过滤的能力上下文
- 它是一种
单一行为的方法,因此只能在从该方法派生的类中使用它。
方法可用于任何Unity代码中Debug
MyAppName\u Data/output\u log.txt
文件中找到,其中MyAppName
是可执行文件的名称
在进行运行时构建时,请注意不要在代码中留下太多日志调用,尤其是在每个帧中调用的方法中,如Update
方法。您可以使用来测试是否正在编辑器中运行
它也可以用于此。这在运行时节省了一点空间,但更为棘手。例如,您可能认为
UNITY\u EDITOR
意味着您正在编辑器中运行,但它也在运行时构建中定义 控制台
来自.NET Framework的核心库print
是一种Unity编辑器方法,特别支持Unity类。如果您希望能够在Unity之外运行代码,您将无法使用print
非常感谢您的回答。通常有必要在Unity之外运行它吗?假设我还必须更改其他方法,那么编辑代码的过程是否会很长,这样我就可以在其他地方运行它?您可以在自己编写的库中使用Console.WriteLine()
,这些库可能在Unity之外使用。