在 ReSharper Templates Explorer 中 - #if 和 if 模板有什么区别?

In ReSharper Templates Explorer - What is the difference between the #if and if templates?

我正在使用 ReSharper 中的 C# 实时模板。由于 个问题,我开始这样做。当我在 Visual Studio 中获取 ReSharper 模板资源管理器时,我看到有一个 #if 模板和一个 if 模板。我的问题是为什么?

我已经通读了 ReSharper 帮助 here,但这并没有真正阐明它(对我而言)。我也尝试取消选中每个模板。 if 模板似乎是 ReSharper if 片段,但我无法弄清楚 #if 模板的用途。

这是 Visual Studio if 片段吗?如果是这样,为什么我在智能感知寡妇中看不到两者?

我知道这是一个非常小的问题,但我只是想知道。谢谢。

#if 是一个 preprocessor directive where as if is a C# selection statement

示例:

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

bool condition = true;

if (condition)
{
    Console.WriteLine("The variable is set to true.");
}