C#编程之基础总结(二)

 

自学.NET之路-C#编程之基础总结

属性,索引器,委托,事件

属性:访问修饰一般为public,首字母大写。属性内有get和set访问器,get内必须要有return,set内有value关键字,代表从外部接受的值。

索引器:索引器的作用:像处理数组一样去处理类的对象。

    public class Student

      {

          private string []obj=new string[10];

          //this关键字在这里代表每一个类的对象,[]中整数是指通过下标访问

          public string this[int index]            //此是可以通过索引号去访问每一个类的成员  

          {

               get

               {

                    return obj[index];

               }

               set

               {

                    if(value!=null)

                    obj[index]=value;

               }

          }

         static void Main(string []args)

         {

                  Student stucollection=new Student();

                   stucollection[0]="柯南";

                   stucollection[1]="小五郎";

                   stucollection[5]="怪盗基德";

         }

      }

委托:相当于函数指针,可使程序在运行是再指定具体要运行的方法。

(1) 定义委托:Public delegate int Call()

(2) 实例化委托:objcall=new Call(方法名)

(3) 调用委托:objcall();

事件:事件实际上是一种特殊的委托,委托每次只能指向一个方法,而事件可以指向多个方法

(1)定义一个委托public delegate void delegateMe();

(2)定义一个事件 private event delegate eventMe;

(3)订阅事件    eventMe+=new delegateMe(方法名1());

                       eventMe+=new delegateMe(方法名2());

(4) 引发事件    if(condition)   then  eventMe();

多线程

创建线程实例:

Thread obj=new Thread(new ThreadStart(方法名称))

开始:Start();

休眠:Sleep();

终止:Abort();

挂起:Suspend();

恢复:Resume();

当前线程:Thread.CurrentThread

ThreadPriority枚举值用来指定调度线程的优先级(共5级)

lock关键字

C#中通过lock关键字提供同步

线程同步:确保不同的线程对共享资源进行访问时,每次只有一个线程访问资源。

Lock(this)

{

     For(int i=0;i<10;i++)

     {

          //语句;

     }

}

数组集合对象

Array: Array和数组很相似,还可以相互转化和拷贝,很多方法都是是通用, 可以用Array的静态方法对数组实现反转,排序,这是数组本身无法做到的

using  system.Array;

Array ar=Array.CreateInstance(typeof(int),5);   //创建一个Array的实例

ar.SetValue(12,0);                          //赋值

Array.Reverse(ar);    // 反转

Array.Sort(ar);        // 排序

ArrayList:最常用的集合之一.集合的好处是在不知道数据大小时,可以实现容量自动增长,而数组做不到.

Add()添加元素

Remove(位置)移除元素

ArrayList al=new ArrayList();

//如果要遍历集合元素,

   //方法一:

   //将集合中的数拷贝到数组中

   object []temp=al.ToArray();

   foreach(object t in temp)

   {

    Console.WriteLine(t);

   }

   //方法二,使用迭代器

   IEnumerator ie=al.GetEnumerator();

   while(ie.MoveNext())

   {

    Console.WriteLine(ie.Current);

   }

HashTable:以键值对的形式保存值

Hashtable hash=new Hashtable(4);

hash.Add("中国",1860);         

hash.Add("德国",1940);

Console.WriteLine(hash["中国"].ToString());通过key获得value

SortedList :是 Hashtable 和 Array 的混合

能存放键值对,类似Hashtable

能通过自身提供的方法通过索引直接遍历,类似于Array

objsortlist.GetKey(i)   方法获得键

objsortlist.GetByIndex(i)方法获得值

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值