gpt4 book ai didi

c# - 单行#if#endif?

转载 作者:行者123 更新时间:2023-12-03 21:25:50 24 4
gpt4 key购买 nike

在 C# 中有更快的方法吗

#if foo
Something();
#endif

像伪代码:
#if(foo, DoThat(); )

我是程序员,程序员很懒;-)

最佳答案

没有什么可以让你写一个 #if ... #endif在一条线上。

Something只有在 FOO 时才应该被调用被定义,然后你可以用 ConditionalAttribute 装饰它:

[Conditional("FOO")]
public void Something()
{
...
}

如果这样做,编译器将删除对 Something 的所有调用。除非 FOO被定义为。

尝试保留所有 #ifs 也是一个好主意。在一个地方,而不是穿插在您的代码中。除了根据定义的条件编译符号更容易查看应用程序的行为如何变化之外,它还删除了 #if大多数代码的噪音。

对于不同的目标(例如 Thing.Foo.csThing.cs),相同文件的完全不同版本也可能是有意义的,并根据条件在您的 csproj 文件中指定应该包含哪个版本。

最后,记住代码的重点是阅读和理解:专注于编写清晰易懂的代码,而不是编写时间最短的代码。从长远来看,与编写代码相比,您阅读代码的时间要长得多。

关于c# - 单行#if#endif?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59661214/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com