在我学编程中,例如for、foreach、while、 do while这些循环的时候一般都是用来遍历数据
例如:
int[] ints = { 1, 2, 3, 4, 5, 6, 7 };
for (int i = 0; i < ints.Length; i++)
{
int a = ints[i];
}
又或者下面这样:
int[] ints = { 1, 2, 3, 4, 5, 6, 7 };
int num = 0;
while (num< ints.Length)
{
int a = ints[num];
num++;
}
但是循环的用处不仅仅只是遍历数据,下面分享一下循环的其他用法。
用法1:自定义对象的监听事件:
例如我创建一个类名为循环的类 ,里面有一个静态成员字段和一个监听方法。
class 循环
{
public static int i = 0;
public static string 监听()
{
while (i == 0) { Console.WriteLine("i未改变"); } ;
return "i被改变";
}
}
然后在Main方法里面创建线程执行修改i的值的方法来模拟人为修改,然后调用监听事件
class Program
{
static void Main(string[] args)
{
Thread st = new Thread(new ThreadStart(修改));
st.Start();
string str= 循环.监听();
Console.WriteLine(str);
Console.ReadLine
();
}
public static void 修改()
{
Thread.Sleep(2000);
循环.i = 2;
}
}
输出结果:如下
用法二:用for(;;)或者while(true)可实现死循环,阻止某对象销毁或者
例如创建线程的的时候,当线程执行完自己应该执行的方法之后就会自动销毁。当我们有大量的方法需要用线程处理的时候,如果我们用不断创建线程来执行方法,然后自行销毁。这样的话效率就会低,因为线程创建和销毁都需要时间,这时候如果我们创建了线程执行完方法之后不让它销毁。代码实现如下;
public static void demo()
{
//业务代码
for (;;) ;
}
循环的具体用法还得根据业务的具体实现来使用。