C# 我如何标记代码的某些行,因为它不会在发行版中运行?

C# 我如何标记代码的某些行,因为它不会在发行版中运行?,c#,C#,我想在调试时抛出异常,但在发布模式下我不想抛出异常。我正在将它们记录到事件日志中。这是我的问题的根源,但是如果我在C和Delphi中没有错的话,有一些指令可以做到这一点 在C语言中,是否有任何waydirective或其他东西可以忽略调试模式或发布模式下的行?使用if-debug指令并以endif结尾。调试常量是在调试模式下运行应用程序时定义的。应在项目属性的“生成”选项卡下检查“定义调试常量”。使用if DEBUG指令并以endif结束。调试常量是在调试模式下运行应用程序时定义的。应在项目属性

我想在调试时抛出异常,但在发布模式下我不想抛出异常。我正在将它们记录到事件日志中。这是我的问题的根源,但是如果我在C和Delphi中没有错的话,有一些指令可以做到这一点


在C语言中,是否有任何waydirective或其他东西可以忽略调试模式或发布模式下的行?

使用if-debug指令并以endif结尾。调试常量是在调试模式下运行应用程序时定义的。应在项目属性的“生成”选项卡下检查“定义调试常量”。

使用if DEBUG指令并以endif结束。调试常量是在调试模式下运行应用程序时定义的。应在项目属性的“生成”选项卡下选中“定义调试常量”。

您可以这样做:

#if DEBUG
    Console.WriteLine("Debug version");
#endif

您可以这样做:

#if DEBUG
    Console.WriteLine("Debug version");
#endif

出于日志记录的目的,您可能还对。它允许您将整个方法标记为删除发布版本中对此方法的所有调用


如果您在代码中的许多不同位置进行日志记录,这将比在每个调用站点添加If DEBUG要简单得多。

出于日志记录的目的,您可能还对以下内容感兴趣。它允许您将整个方法标记为删除发布版本中对此方法的所有调用


如果您在代码中的许多不同位置进行日志记录,这将比在每个调用站点添加If DEBUG要简单得多。

谢谢您,但在示例代码段中会更好。谢谢您的解释,但至少有一个链接是完美的。@uzay95:检查递归编写的。谢谢您,但在示例代码中会更好。感谢您的解释,但至少有一个链接是完美的。@uzay95:检查递归编写的。您可能对本文感兴趣;人们有时会对条件编译和条件属性之间的差异感到困惑:您可能对本文感兴趣;人们有时会对条件编译和条件属性之间的差异感到困惑:请注意,严格来说,可以在发布版本中定义调试,而不是在调试版本中定义调试。如果你继承了一个项目,那么你可能会疯掉,但是值得检查一下构建设置,以防万一。请注意,严格来说,你可以在发布版本中定义调试,而不是在调试版本中定义调试。如果你继承了一个项目,你可能会疯掉,但是值得检查一下构建设置,以防万一。