C#学习小结(委托、全局变量、数组和枚举运用、线程)

C#学习小结(委托、全局变量、数组和枚举运用、线程)

ID:46496120

大小:79.00 KB

页数:19页

时间:2019-11-24

C#学习小结(委托、全局变量、数组和枚举运用、线程)_第1页
C#学习小结(委托、全局变量、数组和枚举运用、线程)_第2页
C#学习小结(委托、全局变量、数组和枚举运用、线程)_第3页
C#学习小结(委托、全局变量、数组和枚举运用、线程)_第4页
C#学习小结(委托、全局变量、数组和枚举运用、线程)_第5页
资源描述:

《C#学习小结(委托、全局变量、数组和枚举运用、线程)》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、C#学习小结(委托、全局变量、数组和枚举运用.线程)一)c#语言1)委托:委托实现一般分三步骤:1、声明委托声明一个新的委托类型。每个委托类型都描述参数的数冃和类型,以及它对以封装的方法的返冋值类型。每当需要一组新的参数类型或新的返冋值类型时,都必须声明一个新的委托类型。例如:PublicdelegatevoidProcessBookDelegate(Bookbook);2、实例化姿托。声明了委托类型后,必须创建委托对彖并使Z与特定方法关联。在上而的示例中,这是通过将PrintTitie方法传递给ProcessPaperbackBooks方法來完成的,

2、如下所zj<:staticvoidPrintTitle(Bookb){System.Console.WriteLine(/z{0}",b.Title);}bookDB.ProcessPaperbackBooks(PrintTi11e);这将创建与静态方法Test.PrintTitle关联的新委托对象。类似地,对象totaller的非静态方法AddBookToTotal是按如卜•方式传递的:internalvoidAddBookToTotal(Bookbook){countBooks+二1;priceBooks+=book.Price;}bookDB.P

3、rocessPaperbackBooks(totaller.AddBookToTotal);在两个示例中,都向ProcessPaperbackBooks方法传递了一个新的委托对象。委托一旦创建,它的关联方法就不能更改;委托对彖是不可变的。3、调用委托。创建委托对象后,通常将委托对象传递给将调川该委托的具他代码。通过委托对象的名称(后面跟着要传递给委托的参数,括在括号内)调用委托对象。下面是委托调用的示例:processBook(b);与本例一样,可以通过使用Beginlnvoke和Endlnvoke方法同步或异步调用委托。2)全局变量在很多时候,会有一

4、些变量会在儿个窗口之间传递,而这需要用到全局变量。而在C#里,没有定义全局变量的关键字,所以可以可以丿1]下來方法來实现全局变量。1、用静态成员來作全程变量2、建立一个类,然后在该类中添加一个静态的成员变量,或者加一个常量也对以,然后用的时候直接対该类进行访问即可。classStaticpublicstaticSerialPortComPort;publicstaticushortuslnstmmentlD二0;publicstaticTiniertmrCommunicate;publicstaticBooleanIsComing二false;publ

5、icstaticintTimeOutCount二0;在窗口实例类中,可以用Static.TimeOutCount这种格式调用变量。3、C#中没冇全局变量,但可以使用命名空间和静态变实现类似功能,下面的例子定义了一个用户类,初始化用户名后,在filetobase命名空间的其它类都可以获得用户名namespaceFi1eToBase{publicclassuser{privatestaticstringuserName;publicuser(stringname){userName=name;publicstaticstringUserName{get{r

6、eturnuserName;}}}3)数组和枚举运用1、一维数组publicbyte[]ValueSJSOE;//#件SOE的个数(没有实例化,和定义其个数)publicbyte[]ValueSGSOE;//事故SOE的个数privateint[]eachMessHasKeyNum={8,8,5,8,3,8,8,8,5,4,4,4,4,4,4,4,2};//下面读取报文中的KEY个数(定义,实例化)〃整定值写报文的KEY和Valuepublicbyte[]LastKeyValueZDZ=newbyte[l叮;〃系统参数和继电器的写报文的KEY和Valu

7、epublicbyte[]LastKeyValueSystemParm=newbyte[6];publicbyte[]LastKeyValueJDQ=newbyte[6];2、交错数组定义:publicbyte[][]KEYValueJKZ;//把读取监控值的KEY和Value存在数据里实例化:〃初始化存储各个仪表数拯的数纟ILKEYValueJKZ^newbvte[JKZNum][];//JKZNum是一个常量for(inti二0;i{KEYValueJKZ[i]=newbyte[6];//每个数组的头两位是KEY}赋值:for(inti=0;i

8、KZNum;i卄){KEYValueJKZ[i][0]^Convert.ToByte(i+8)

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。