首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Console.WriteLine与打印

Console.WriteLine与打印
EN

Stack Overflow用户
提问于 2018-02-05 21:16:32
回答 1查看 3.4K关注 0票数 3

我知道这听起来可能是个很蠢的问题,但我很困惑,只能找到“WriteLine vs debug.log”这个问题的答案,而不是这个问题。我最初开始使用Visual,在那里我学会了使用Console.WriteLine (“示例文本”);在屏幕上显示了一个句子,但是我已经开始使用统一,在那里我可以使用简单的打印(“示例文本”);

这仅仅是因为我应该选择哪一种呢?他们都在做同样的事情吗,就像'int‘和’十进制‘之间的区别有时并不总是显而易见的那样吗?或者我是这样使用它们,取决于我所使用的程序?如果后者是这样的话,如果我必须根据我使用的是哪个程序来改变使用它的方式,这难道不违背它作为一种语言的目的吗?

如果这似乎是一个无关紧要的问题,我很抱歉,但我宁愿确定,也不愿继续把它置之不理,因此继续做错事。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-02-06 00:47:33

对于统一代码,我建议在Debug类中使用静态方法,如Debug.LogDebug.LogFormat等。

在这些方法上还有其他变体,如Debug.LogWarningDebug.LogError,您可以在上面的第一个链接中找到它们。在“编辑器”中,您可以使用日志面板上的按钮筛选日志,以仅显示所需的消息,例如,只有在其他日志消息产生太多噪声时才会出现错误。

Unity的MonoBehaviour.print方法是围绕Debug.Log的一个很薄的包装器,有两个缺点:

  • 它缺少上述方法的一些特性,例如传递将调试消息绑定到Unity中的对象的context参数的能力,以及在编辑器中按日志类型进行筛选的能力。
  • 它是MonoBehaviour的一个方法,所以您只能在派生的类中使用它。Debug方法可以在任何统一代码中使用。

还值得注意的是,所有这些日志方法都可以在运行时构建和编辑器中使用。当在构建中调用日志消息时,日志消息在MyAppName_Data/output_log.txt文件中可用,其中MyAppName是可执行文件的名称。

在进行运行时构建时,请注意不要在代码中留下太多的日志调用,特别是在像Update方法这样的每个框架中调用的方法中。您可以使用Application.isEditor测试是否在编辑器中运行。

使用平台相关编译也是可能的。这在运行时节省了一些空间,但更棘手。例如,您可能认为UNITY_EDITOR意味着您正在编辑器中运行,但它也是在运行时构建中定义的!

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48631613

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档