using System;
using System.Timers;namespace Ch12Ex01
{
class Class1
{
static int counter = 0; static string displayString =
"This string will appear one letter at a time. "; static void Main(string[] args)
{
Timer myTimer = new Timer(1000);
myTimer.Elapsed += new ElapsedEventHandler(WriteChar);
myTimer.Start();
Console.ReadLine();
} static void WriteChar(object source, ElapsedEventArgs e)
{
Console.Write(displayString[counter++ % displayString.Length]);
}
}
}
================
就这句用法不太明白
Console.Write(displayString[counter++ % displayString.Length]);
c#里[]表示字符串的第几个字符,一般我只会[数字],counter++表示从0开始+是吧,直到+到length长度,再从头+这中表示方法格式是什么?%是什么意思?
using System.Timers;namespace Ch12Ex01
{
class Class1
{
static int counter = 0; static string displayString =
"This string will appear one letter at a time. "; static void Main(string[] args)
{
Timer myTimer = new Timer(1000);
myTimer.Elapsed += new ElapsedEventHandler(WriteChar);
myTimer.Start();
Console.ReadLine();
} static void WriteChar(object source, ElapsedEventArgs e)
{
Console.Write(displayString[counter++ % displayString.Length]);
}
}
}
================
就这句用法不太明白
Console.Write(displayString[counter++ % displayString.Length]);
c#里[]表示字符串的第几个字符,一般我只会[数字],counter++表示从0开始+是吧,直到+到length长度,再从头+这中表示方法格式是什么?%是什么意思?
--------------------------------------------------------------------
Console.Write(displayString[counter % displayString.Length]);
counter = counter + counter;% 是取余数运算符。
counter = counter + 1;
++count count+=1 再用
displayString[0];displayString[1];……displayString[n];displayString[0];displayString[1];……displayString[n];……
等价于:
int i = counter % displayString.Length;
counter = counter + 1;
return i;
ms-help://MS.VSCC/MS.MSDNVS.2052/csref/html/vclrfRemainderOperator.htm
不一定从0开始,看你的counter初始值了。%是什么意思?
模除。也就是取余数运算,比如27%5 = 2 ;
还有,为什么displayString是用static声明的,为什么要用静态的,如果把static去掉,就会出错为什么,在c#里声明变量,比如int a,那a默认范围是什么 ?
谢拉~还有这个示例里面签名和委托都是哪些?签名,委托是怎么回事?
static void WriteChar(object source, ElapsedEventArgs e)它的参数格式(object source, ElapsedEventArgs e)就是ElapsedEventHandler 的方法签名;