• 网络学院
  • IT资讯
  • 操作系统
  • 网络技术
  • 软件应用
  • 办公软件
  • 编程技术
  • 网站架设
  • 数据库类
  • 平面设计
  • 多媒体类
  • 游戏资讯
  • 教学论文
  • 认证考试
自学.NET之路-C#编程之基础总结
  站点:
  • 首 页
  • 最新软件
  • 文章教程
  • 国内软件
  • 国外软件
  • 绿色软件
  • 源码下载
  • 字体下载
自学.NET之路-C#编程之基础总结
软件发布 自学.NET之路-C#编程之基础总结
网络软件 系统工具 应用软件 联络聊天 图形图像 多媒体类 行业软件 游戏娱乐 编程开发 安全相关 教育教学 数码软件 绿软下载
热门软件: QQ 瑞星 pplive e话通 木马克星 千千静听 office2000 五笔字根 Photoshop 视频分割
返回文章教程首页 >> 编程技术 >> VC教程 >> 自学.NET之路-C#编程之基础总结

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

添加时间: 2008-9-29 11:38:46  作者:   阅读次数:60   来源: 博客网

        .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#)_排序算法(冒泡排序) 下一篇文章:

相关文章:

  • 雅虎拟兴建基础设施并聘用100名员工
  • 有几个还活着?十年应用软件之路
  • NET 拖动无边框窗体编程实例
  • 自学.NET之路-C#编程之基础总结
  • 编程实例 使用C#的BitmapData

相关软件:

  • 编程傻瓜--逗死汇编 V1.6
  • KS线切割编程系统 V2.18
  • 教师工作总结集 1.0
  • 轻松自考助学系列-法律基础与思想道德修养 1.30
  • 软件编程伴侣 4.0
  • 易语言汉语编程环境 V4.10

 

快速导航

  • 网络学院
  • 精品汇聚
  • 字体下载
  • 教程下载
  • ASP源码
  • PHP源码
  • Net源码
  • JSP 源码

编程技术分类导航

  • ASP & ASP.NET教程
  • PHP教程
  • JSP教程
  • C/C++教程
  • VB & VB.NET教程
  • VC教程
  • Delphi教程
  • BCB教程
  • VFP教程
  • PB教程
  • JAVA教程
  • XML教程
  • C#教程
  • CGI教程

本类经典文章推荐

  • VC++之Button控件
  • VC++之Static Box控件
  • VC++之Edit Box控件
  • VC++之Static Box控件
  • VC++之Edit Box控件
  • VC++之Scroll Bar
  • VC++之Scroll Bar
  • VC++之List Box/Check List Box控...
  • VC++ Combo Box/Combo Box Ex控件
  • VC++ List Ctrl控件

VC教程阅读排行

  • VC++之List Box/Check List Box控...
  • VC++ List Ctrl控件
  • VC++ Combo Box/Combo Box Ex控件
  • VC++之Button控件
  • VC++之Tab Ctrl控件
  • VC++之Edit Box控件
  • VC++之Edit Box控件
  • VC遍历整个目录树查找文件
  • VC++之Scroll Bar
  • VC使用ActiveX控件常见问题

编程技术阅读总排行

  • VB入门教程之一
  • Java连接数据库实例
  • VC++之List Box/Check List Box控...
  • 第二章 PowerBuilder 入门之创建新...
  • VC++ List Ctrl控件
  • 第一章 什么是PowerBuilder
  • VC++ Combo Box/Combo Box Ex控件
  • 学C++不得不看的一篇文章
  • VB入门教程之二
  • VC++之Button控件

广告位置

字母检索 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 回到顶部

关于我们 | 版权声明 | 免责条款 | 广告联系 | 软件发布 | 下载帮助 | 下载排行 | 网站地图 | 特别鸣谢 | 友情连接

copyright; 2005-2008 D9soft.com 第九软件网 版权所有