1.C#中 #if DEBUG的使用
#if DEBUG的作用是在visual studio的DEBUG模式下代码将进入#if DEBUG的代码块。语法如下:
#if DEBUG
Console.WriteLine("hello dotnet?");
#else
Console.WriteLine("hello ");
#endif
在Debug模式下,#else将变灰色不会执行,将输出“hello dotnet?”;
#else代码块中的逻辑在releae中执行,也就是生产环境中会运行,将输出“hello”。
如何通过忽略一些报错来不耽误开发进度呢?可以先在#if DEBUG中自定义赋值,通过验证,这样不影响开发进度。
扩展
另外还有个Conditional(“DEBUG”)特性,这个加在方法上,它与#if DEBUG相反,语法:
[Conditional("DEBUG")]
public void T(string p)
{
......//code
}
这个特性只支持没有返回值的方法,在releae编译出的代码不会执行。他们的区别如下:
#if DEBUG: 发生在编译时,release不包含if中的代码
[Conditional(“DEBUG”)]: 发生在运行时,releae编译出的IL包含代码,但是不会被执行
2.C# 将两个列表连接在一起
- 使用 AddRange() 方法将两个列表结合在一起
- 使用 Enumerable.Concat() 方法将两个列表连接在一起
- 使用 foreach 循环方法将两个列表连接在一起