日期:2014-05-18  浏览次数:20915 次

谁简单的说说#region 的意思啊?
#region 
...//代码
#endregion

这是什么意思,别人的程序中经常看到,我自己从来没写过.多谢


------解决方案--------------------
没什么意思,带上了这个之后可以把一段代码折叠起来。你观察代码的时候好看一些。
比如有时候有一大段代码或者很多类似的属性之类的可以归类整理起来。
------解决方案--------------------
#region 
...//代码 
#endregion
把中间的代码缩起来,对程序没任何影响,类似注释
------解决方案--------------------
完全是把代码折叠起来,模块化显示
------解决方案--------------------
代码折叠和方法注释。
------解决方案--------------------
用来分组的,就像段落一样,可折叠,美观实用,哦也!
------解决方案--------------------
就是折叠代码 对应用程序不实现功能 让程序看起来整齐 对于一个大型程序 方便开发人员查找方法而已
------解决方案--------------------
还有个用处,在写标准注释的时候,可以引用某一段region
------解决方案--------------------
探讨
还有个用处,在写标准注释的时候,可以引用某一段region

------解决方案--------------------
预编译指令

1、#define和#undef

用法:

#define DEBUG

#undef DEBUG

#define告诉编译器,我定义了一个DEBUG的一个符号,他类似一个变量,但是它没有具体的值,可以将它看为一个符号而已。#undef就是删除这个符号的定义。如果符号DEBUG没定义过,则#undef不起作用,否则#define不起作用。二者都必须放在源代码之前。二者的顺序看代码的顺序:

#define DEBUG

#undef DEBUG

这样的话,DEBUG是没有定义的,如果二者换个顺序,编译器就认为DEBUG被定义了

2、#if、#elif、#else、#endif

这个告诉编译器进行编译代码的流程控制。考虑下面代码:

#if DEBUG
Console.Write("debug");
#elif RELEASE
Console.Write("realse");
#else
Console.Write("other");
#endif

以上代码就是说如果定义了DEBUG则输出debug,定义了RELEASE,则输出realse,否则输出other。如果定义了DEBUG和REALSE会怎么样呢?各位可以自己试一下。

3、#warning、#error

通过这两个指定可以告诉编译器,出一个警告还是错误信息。除了错误信息以后,编译将停止

参考下面的代码

#if DEBUG ------〉该DEBUG如果选中当前状态为DEBUG,则这个默认为#define
#warning “现在是Ddbug状态”
#elif RELEASE ------〉如果选中release状态的话,这个确没有默认,不知道我试验的对不对
#warning “现在是Realse状态”
#else
#error“并清楚什么状态”
#endif

4、#region 和#endregion

这个两个用来组成代码块


5、#line (这个指定的使用不太明白,参考MSDN)

这个指令可以改变编译器在警告和错误信息中显示的文件名和行号信息,用#line default把行号恢复为默认的行号。

下面的示例说明如何报告与行号关联的两个警告。#line 200 指令迫使行号为 200(尽管默认值为 #7)。另一行 (#9) 作为默认 #line 指令 的结果跟在通常序列后。
// preprocessor_line.cs
public class MyClass2
{
public static void Main()
{
#line 200
int i; // CS0168 on line 200
#line default
char c; // CS0168 on line 9
}
}

示例 2
下面的示例说明调试器如何忽略代码中的隐藏行。运行此示例时,它将显示三行文本。但是,当设置如示例所示的断点并按 F10 键逐句通过代码时,您将看到调试器忽略了隐藏行。另请注意,即使在隐藏行上设置断点,调试器仍会忽略它。
// preprocessor_linehidden.cs
using System;
class MyClass
{
public static void Main()
{
Console.WriteLine("Normal line #1."); // Set a break point here.
#line hidden
Console.WriteLine("Hidden line.");
#line default
Console.WriteLine("Normal line #2.");
}
}
------解决方案--------------------
其实它有#region #end Region这个东西主就是为了我们可以对一段代码进行分组,这个分组看起来像我们的一个method,也像一个我们的一个module,同时也有可能是我们的一个功能点,或者是一个算法中的某块等等。
有了这样的分组我们就可以更加容易的对代码进行分组,让我们在阅读代码的时候,能更快的知道作者写的是什么东西,他的思路是什么。同样我们去自己review的时候,也能够很快的知道我们自己当时的想法。
其实说白了,它就是一个更好用的注释。
------解决方案--------------------