[原创]C#之 集合 线程 知识摘要
集合:
System.Collections.IEnumerable 此接口实现了c#中所有集合 ,所谓接口,可以理解为永远无法实现的方法。
IEnumerable 这个接口是c#预定义的一个接口,这个接口有个 GetEnumerator()方法,返回值为Enumerator 类型的对象。
所以,每个集合都有相关的一个或者多个Enumerator对象。这些对象只能从相关的集合读取数据,而无法改变集合。
要访问集合内的元素,必须首先创建实现 Enumerator接口对象,如何实例化这个对象??就必须调用MoveNext()方法。
这个方法的作用就是在集合内移动,当第一次调用MoveNext()方法,它将Enumerator对象移动到集合内第一个元素。
一旦,Enumerator对象初始化集合内的第一个元素,则可以调用MoveNext()方法进行移动,从而读取数据! Current特性
可以读取Enumerator对象的值,这个特性返回对集合的引用。由于返回的值是引用的,所以,实际上要得到元素的确切值,
可以把引用类型转换为值类型的!
例子:
public interface IEnumerable
{
IEnumerable GetEnumerator();
}
public interface IEnumerator
{
bool MoveNext();
object Current
{
get;
}
void Reset();
}
----------------
线程
创建线程的是 Thread 类 ,Thread 类是.net Framework 类库中的类,而且位于System.Threading 名称空间里
创建线程需要申明线程类的对象,为了达到这个目的,需要使用System.Threading 名称空间中的public void委托
ThreadStart()/
例如:
using System;
using System.Threading;
namespace namespace1
{
class class1
{
public void Method1()
Console.WriteLine(".");
public static void Main()
{
class1 newClass =new class1();
Thread Thread1= new Thread(new ThreadStart(class1.Method1));
}
}
}
虽然这里创建了线程对象,但是线程并没有执行,要执行这个线程实例,要用到这个线程实例的一个方法,那就是
Thread1.Start()//
System.Collections.IEnumerable 此接口实现了c#中所有集合 ,所谓接口,可以理解为永远无法实现的方法。
IEnumerable 这个接口是c#预定义的一个接口,这个接口有个 GetEnumerator()方法,返回值为Enumerator 类型的对象。
所以,每个集合都有相关的一个或者多个Enumerator对象。这些对象只能从相关的集合读取数据,而无法改变集合。
要访问集合内的元素,必须首先创建实现 Enumerator接口对象,如何实例化这个对象??就必须调用MoveNext()方法。
这个方法的作用就是在集合内移动,当第一次调用MoveNext()方法,它将Enumerator对象移动到集合内第一个元素。
一旦,Enumerator对象初始化集合内的第一个元素,则可以调用MoveNext()方法进行移动,从而读取数据! Current特性
可以读取Enumerator对象的值,这个特性返回对集合的引用。由于返回的值是引用的,所以,实际上要得到元素的确切值,
可以把引用类型转换为值类型的!
例子:
public interface IEnumerable
{
IEnumerable GetEnumerator();
}
public interface IEnumerator
{
bool MoveNext();
object Current
{
get;
}
void Reset();
}
----------------
线程
创建线程的是 Thread 类 ,Thread 类是.net Framework 类库中的类,而且位于System.Threading 名称空间里
创建线程需要申明线程类的对象,为了达到这个目的,需要使用System.Threading 名称空间中的public void委托
ThreadStart()/
例如:
using System;
using System.Threading;
namespace namespace1
{
class class1
{
public void Method1()
Console.WriteLine(".");
public static void Main()
{
class1 newClass =new class1();
Thread Thread1= new Thread(new ThreadStart(class1.Method1));
}
}
}
虽然这里创建了线程对象,但是线程并没有执行,要执行这个线程实例,要用到这个线程实例的一个方法,那就是
Thread1.Start()//