解决方案 »
- 源数组长度不足。请检查 srcIndex 和长度以及数组的下限。
- Remoting怎么能不用配置文件
- winform裏有一個主窗體,主窗體裏有一個panel,然後在UserControl1.cs裏有一個button,如何在button事件上隱藏或者顯示panel
- 使用多个异步POST请求 连续循环执行为什么反应变得越来越慢
- 我想对数据库的秘密字段加密?
- 高分求DataGridViewCheckBoxCell状态问题. 100求解!~~急..
- 用户控件的问题
- 关于winform中关闭窗体的问题
- 求助.Net代码编辑过程中的问题~~~
- Datagrid中HyperLinkColumn的问题
- 程序开着,再次启动相同程序的时候,怎么检查此程序已经运行?
- 求教有没现成的提取html中元素的类库什么
参考
http://msdn.microsoft.com/zh-cn/library/c1bs0eda(VS.80).aspx
string words = "one two,three:four.";
string [] split = null; //拆分以后的字符串数组
split = words.Split(delimiter, 1);
foreach (string s in split)
{
Console.Write("-{0}- ", s);
}split = words.Split(delimiter, 1); 这里的第2个参数是返回字符串的最大数量,只能返回1.就是一个整体
所以结果就是在原字符串前面和后面加- -
静态成员:静态成员变量是和类相关联的,可以作为类中"共"有的变量(是一个共性的表现),他不依赖特定对象的存在,访问的时候通过类名加点操作符加变量名来访问.实例成员:实例成员变量是和对象相关联的,访问实例成员变量依赖于实例的存在. 函数成员:
方法可以主要分为静态方法,实例方法静态方法:静态方法是不属于特定对象的方法,静态方法可以访问静态成员变量,静态方法不可以直接访问实例变量,可以在实例函数调用的情况下,实例变量做为参数传给静态方法。静态方法也不能直接调用实例方法,可以间接调用,首先要创建一个类的实例,然后通过这一特定对象来调用静态方法。实例方法:一个实例方法的执行与特定对象关联,他的执行需要一个对象存在。实例方法可以直接访问静态变量和实例变量,实例方法可以直接访问实例方法、和静态方法,静态方法的访问方式为类名加点操作符加变量名。当多个实例对象存在时,内存中并不是存在美个特定的实例方法的拷贝,而是,相同类的所有对象都共享每个实例方法的一个拷贝(实例方法只占用“一套”空间)。 如果将类中的某个成员声明为static,则称该成员为静态成员。一般来说,静态成员是属于类所有的,而非静态成员则属于类的实例的。每创建一个类的实例,都在内存中为非静态成员开辟一片区域。而类的静态成员为类所有,为这个类的所有实例共享。无论这个类创建了多少副本,一个静态成员在内存中只占有一块区域。C#类中静态成员变量的生命周期问题,就是什么时候创建,什么时候销毁已声明元素的“生存期”是元素可供使用的时间周期。变量是唯一具有生存期的元素;为此,编译器将过程参数和函数返回值视为变量的特殊情况。变量的生存期表示它可以保留值的时间周期。在生存期内变量的值可以更改,但变量总是保留某些值。不同的生存期
在模块级声明的变量通常在应用程序的整个运行期间都存在。在类或结构中声明的非共享变量作为声明它的类或结构的每个实例的单独副本存在;每个这样的变量都具有与它的实例相同的生存期。但是,Shared 变量仅有一个生存期,即应用程序运行所持续的全部时间。用 Dim 声明的局部变量仅当声明它们的过程正在执行时存在。这同样适用于过程的参数和任何函数返回值。但是,如果该过程调用其他过程,则局部变量在被调用过程运行期间保留它们的值。生存期的开始
当执行到声明局部变量的过程时,局部变量的生存期开始。过程一开始执行,每个局部变量即被初始化为其数据类型的默认值。数字变量(包括 Byte 和 Char)被初始化为 0,Date 变量初始化为公元 1 年的 1 月 1 日零时,Boolean 变量初始化为 False,引用类型变量(包括字符串、数组和 Object)初始化为 Nothing。结构变量的每个成员被视为单独的变量初始化。同样,数组变量的每个元素也单独初始化。如果变量是用初始值设定项声明的,则在执行变量的声明语句时,将给该变量分配指定的值,如下面的示例所示:Dim X As Double = 18.973 ' X had previously been initialized to 0.
在过程的内部块中声明的变量在进入该过程时初始化为其默认值。不论该块是否曾执行过,这些初始化都会生效。生存期的结束
当过程终止时,不再保留该过程的局部变量值,并回收局部元素所使用的内存。下次执行该过程时,将重新创建它的所有局部元素并初始化局部变量。当类或结构的实例终止时,它的非共享变量丢失它们的值。类或结构的每个新实例都创建它的所有非共享元素并初始化非共享变量。Shared 元素被一直保留到应用程序停止运行时。生存期的扩展
如果局部变量是用 Static 关键字声明的,则它的生存期比声明它的过程的执行时间长。如果该过程在某模块内,则只要应用程序继续运行,static 变量就一直存在。如果 static 变量是在类的内部过程中声明的,则该变量的生存期取决于此过程是否共享。如果此过程已用 Shared 关键字声明,则变量的生存期将一直延续到应用程序终止时为止。如果此过程为非共享,则其 static 变量为类的实例成员,并且其生存期与类实例的生存期相同。在下面的示例中,RunningTotal 函数通过将新值添加到存储在静态变量 ApplesSold 中的以前值的合计来计算流量合计:Function RunningTotal(ByVal Num As Integer) As Integer
Static ApplesSold As Integer
ApplesSold = ApplesSold + Num
Return ApplesSold ' ApplesSold keeps its current value.
End Function
如果没有使用 Static 就已声明了 ApplesSold,则在函数调用期间将不保留以前累计的值,并且函数只返回上次用来调用它的相同值。在模块级声明 ApplesSold 可产生相同的生存期。但是,如果这样更改变量的范围,此过程将不再拥有对该变量的独占访问权。由于其他过程可以访问该变量并更改它的值,因此流量合计是不可靠的,并且代码可能会更难维护。静态成员在第一次被访问之前并且在任何静态构造函数(如调用的话)之前初始化。若要访问静态类成员,应使用类名而不是变量名来指定该成员的位置。
那么 委托呢,委托的实例也只是一个方法的引用 是吧,那么线程呢? 线程,应该肯定是把这个方法
的占用空间COPY到了另一个地方,一个线程一份COPY,多个线程多个方法内存空间的COPY,