首页 | 新闻资讯 | 软件应用 | 图形图像 | 网络应用 | 硬件学堂 | 程序开发 | 安全中心 | 素材下载 | 作者专区 | 学院论坛
精选专题 | 精美壁纸 | 专家答疑 | Flash剧场 | Photoshop | 名词解释 | 梦幻桌面 | PS高手进阶 | QQ区 | 图书 | 黑客教材
Flash教程| 卡通制作 | AutoCAD | 3DMax实例 | PS视频教程| 网页制作 | CorelDRAW| Firework | 滤镜与实例 | 全部视频教程
当前位置:eNet硅谷动力 > 学院频道 > VC#.NET

自学.NET之路-C#编程之基础总结
2008-06-16 07:42 来源:博客网
【简 介】
自学.NET之路-C#编程之基础总结
    
加入收藏  设为首页

.NetFramework简介
.netframework运行于操作系统之上,提供良好的跨语言特性。
.netframework包含两个内容:公共语言运行时(CLR)和类库集(FCL)
MSIL微软中间语言。当编译.net支持的语言编写的代码的时候,输出的代码为MSIL
CLR又包含:通用语言规范(CLS:保证语言互操作性的一组规则)和公共类型系统(CTS:包含了.net支持的各语言间兼容的数据类型和功能)


C#中的变量和常量
C#中的基本数据类型:
值类型和引用类型
值类型:简单类型、结构类型和枚举类型。
简单类型:整数类型、浮点类型、小数类型(decimal)和布尔类型等
sbyte是有符号的,相当java的byte型,范围-128~127
C#中byte是无符号的,范围0~255


变量命名方法:
帕斯卡命名法和骆驼命名法
帕斯卡命名法:如果有多个单词组成,每个单词首字母大写
骆驼命名法:如果有多个单词组成,第一个单词全部小写,后面的单词大写


C#中的常量:const与readonly两种
const声明的常量:叫静态常量,必须声明时就初始化,且只能用常数值初始化
readonly声明的常量:叫动态常量,可以在声明时不初始化,只能在构造函数中初始化,但必须每个构造函数中都要初始化;而且可以使用变量值初始化

class Test
{
        const  float PI = 3.1416f;       //常量命名:全部大写
        readonly float G;
        public Test()
        {
                G = 9.80F;
        }
        public Test(float g) //每个构造函数中都要初始化;而且可以使用变量值初始化
        {
                G = g;
        }
}


C#中的装箱和拆箱

装箱:值类型转换成有引用类型
拆箱:引用类型转换成值类型
值类型:存在栈中
引用类型:在堆中存放对象的地址(即引用),对象本身存放在栈中
拆装箱允许值类型和引用类型相互处理


C#语法

Switch()括号中可以是int ,char和string ,switch语句中的case语句冒号后什么都不写,可以不写break,其他情况一定要写break,否则报错

数组:五种声明方式
   int []array;
   array = new int[2];

   //第二种声明方式
   int []array1 = new int[2];

   //第三种声明方式
   int []array2 = {1,2,3};

   //第四种声明方式
   int []array3 = new int[]{1,2,3};

   //第五种声明方式
   int []array4 = new int[3]{1,2,3};

   //数组大小也可以是变量
   int count = 3;
   int []arr = new int[count];



枚举:用有意义的字符去访问数据
public enum Contry:long  //指定枚举类型,必须是整型,不写为int型
  {
   Pacific,         //第一个未付值,默认为零
   China=1860,
   Japan,
   US=1901,
   Canada
  
  }


C#中的面向对象
析构函数:函数名与构造函数名一样,~函数名(),不接受参数,由垃圾回收器自动调用(GC.Collect()调用垃圾回收器)

 

virtual关键字:C#中,子类要重写父类的方法,必须把父类的方法标识为virtual(虚拟的),同时重写方法用override修饰
new 关键字:new关键字:在子类中定义的一个和父类方法签名一样,但是个全新的方法。并非重写父类的方法。
base关键字:用base关键字调用父类的方法

访问修饰符:
public 公有的,
internal 在一个项目中的,
protected有父子关系的类,
private仅所属类的成员

注意:如果有一个类既继承类又实现接口,类名要写在接口名前面。



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

属性:访问修饰一般为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)方法获得值



【责任编辑 王凡】

关键字: 编程  开发  c# 
您对这篇文章的看法是:    喜欢 反感 支持 反对 加油 鄙视 学习 打击 佩服 漂亮 路过 发表评论
视频教程】 【专题汇总】 【不懂就问我关闭窗口

Photoshop制作多彩的玻璃透明球体
娇羞魅惑 超模Vlada演绎Vogue大片
卡卡、360过招 安全辅助看谁是最好
正确删除系统中文件名乱码的文件
海量音乐首首动听 天音听听大瘦身
焦点文章
相关文章
 本栏目最新文章
·自学.NET之路-C#编程之基础总结
·数据结构(C#)_排序算法(冒泡排序)
·编程实例 使用C#的BitmapData
·C#实现窗口最小化到系统托盘
·C #中的几个线程同步对象方法
 精彩回放
·3DSMAX打造书本翻开效果
·共享上网技巧应用四则
·陪酒女浸泡在酒里的青春
·美女的性感靓丽婚纱设计
·妖冶身姿 死或生3壁纸
·剿灭Win XP下的29个烦恼
·黑客必备 NET命令大全
·用PS制作精致绝伦的红酒
 精彩推荐
 今日软件下载
·企业级即时通信平台 腾讯通RTX
·极品时刻表含春运临时列车数据
·下载管理器 BitComet 比特彗星
·边下边看想看就看风行网络电影
·超级图文影音转换器 Konvertor
 往日推荐
·手工破解网吧多种限制
·Windows 网络管理技巧
·WMP 10使用技巧三则
·女孩问你帅不帅 要小心
·注册表优化XP 20招
·制作XP万能ghost光盘
·WMP10火拼DVD播放器
·街头霸王图片集中营
·五大搜索引擎横向评测
·防御计算机病毒十大步骤

论坛精华
·精美半透明蜡烛 
·PS初学者十三课,献给 
·Photoshop CS3打造迷 
·北方之驴Flash专辑— 
·使用 Photoshop 制作 
·(转)Photoshop绘制 
热点推荐
打造绚丽北极光
麻辣动态签名
Flash视频编程
章子怡月历桌面
热点关注
·误杀游戏 厂商大战一触即发
·SEO从入门到精通视频教程
·Photoshop数码照片处理案例
·3DSMAX室内渲染实例视频教程
·鹏哥特色教程之C#入门到精通
·Dreamwaver CS3 视频教程
·JAVA-J2ME移动开发实战教学
·爱淘课局域网基础视频教程
·瑞星卡卡上网助手 正版免费
Photoshop打造乒乓球男团胜利瞬间
往日推荐
打造火焰文字
鹏哥C#教程
美女怀旧照片
3D室内渲染
焦点关注