选择显示字体大小

c#系列教程 [2]

本教程参考c#asp.net程序设计教程撰写,有什么不足之处请大家指出,或在老猫的理想blog留言。

继续上回,数组是我们经常用到的,我来介绍一下:数组是具有相同类型的一组数据。当访问数组中的数据时,可以通过下标来指明。c#中数组元素可以为任何数据类型,数组下标从0开始,即第一个元素对应的下标为0,以后逐个递增。数组可以一维也可多维。
   //包含6个元素的一维整数数组;
    int[] mf1=new int[6]; //注意初始化数组的范围,或者指定初值;
   //包含6个元素的一维整数数组,初值1,2,3,4,5,6
    int[] mf2=new int[6]{1,2,3,4,5,6};
    //一维字符串数组,如果提供了初始值设定项,则还可以省略 new 运算符
    string[] mf3={"c","c++","c#"};
    //一维对象数组
    object[] mf4 = new object[5] { 26, 27, 28, 29, 30 };
    //二维整数数组,初值mf5[0,0]=1,mf5[0,1]=2,mf5[1,0]=3,mf5[1,1]=4
    int[,] mf5=new int[,]{{1,2},{3,4}};
    //6*6的二维整型数组
    int[,] mf6=new mf[6,6];
   
    下面来看一个一维字符串数组的遍历
    using system;
    public class mikecat
    {
    static void printarray(string[] arr)
    {
    //打印数组元素,arr.length 表示数组元素的个数
    for(int i=0;i<arr.length;i++)
    {
    console.writeline("arr[{0}]={1}",i,arr[i]);
    }
    }
    public static void main()
    {
    string[] arr={"c","c++","c#"};
    //将数组作为一个参数传递
    printarray(arr);
    }
    }
程序结果:arr[0]=c arr[1]=c++ arr[2]=c#
   
    下面来看一个4行2列(4*2)的整型数组的遍历:
    using system;
    public class mikecat
    {
    static void printarray(int[,] arr)
    {
    //通过两次for循环遍历二维数组
    for(int i=0;i<4;i++)//初始化i作为循环变量,i++实现该变量的自增运算。
    //for循环满足条件后执行完循环体一次后执行i++,然后进入下次循环。简单的c语法,这里做简单介绍照顾初学者。(详细可参阅谭浩强先生的c语言程序设计一书)
    {
    for(int j=0;j<2;j++)
    {
    console.writeline("arr[{0},{1}]={2}",i,j,arr[i,j]);//打印每个二维数组元素
    }
    }
    }
    public static void main()
    {
    //主函数
    //将数组作为一个参数传递
    printarray(new int[,]{{1,2},{3,4},{5,6},{7,8}};
    }
    }
 

运行结果:arr[0,0]=1 arr[0,1]=2 arr[1,0]=3 arr[1,1]=4 arr[2,0]=5 arr[2,1]=6 arr[3,0]=7 arr[3,1]=8
   
   
    类是面向对象程序设计的基本构造块,详细我们在后面介绍。这里我们介绍两个特殊的类,即object类和string类
    1.object类
    object类是预定义类system.object的别名,它是所有其他类型的基类。c#中所有类型都直接或间接从object类中继承。因此,一个object类的变量可以赋予任何类型的值。
   int i=30;
object obj1;
obj1=i;
object obj2='a';

    2.string类
    string类专门用于对字符串的操作,他是预定义类system.string的别名
    string str1="mikecat";
    可以用"+"号连接两个字符串。
    string str2="username:"+"mikecat";
    如果访问单个字符,则要用下标。
    char c=str1[0];
    比较两个字符串是否相等,可用比较操作符"=="//有别于basic语法
    bool b=(str1==str2);

    c# 中,取消了c和c++中使用最灵活,也是最难掌握的指针。那么在c#中如何提供c/c++中的函数指针的功能?c#提供了委托(delegate),委托是继承自system.delegate类的引用类型。它相当于函数指针原型。与函数指针不同的是,委托在c#中是类型安全的,委托特别适合于匿名调用。要使用委托需经过三个步骤,即声明、实例化、调用。
    using system;
    //声明一个名为mfdelegate的委托,该委托有一个string类型的参数
    //c#编译器编译时会产生一个新类,该类继承自system.delegate,类
    //名为mfdelegate
    public delegate void mfdelegate(string name);
   
    public class mikecat
    {
    //定义与mfdelegate有相同参数类型的方法hello()
    public static void hello(string name)
    {
    console.writeline("您好,{0}!",name);
    }
    //定义与mfdelegate有相同参数类型的方法goodbye()
    public static void goodbye(string name)
    {
    console.writeline("再见,{0}!",name);
    }
    public static void main()
    {
    //创建一个mfdelegate实例 mf1
    mfdelegate mf1=new mfdelegate(hello);
    //调用mf1
    mf1("mikecat");
    mfdelegate mf2=new mfdelegate(goodbye);
    mf2("mikecat");
    //将mf1 mf2组合成一个新的委托mf3
    mfdelegate mf3=mf1+mf2;
    //调用mf3
    mf3("迈克老猫");
    //从组合的委托mf3中删除mf1
    mfdelegate mf4=mf3-mf1;
    mf4("mikecat");
    }
    }
 

 程序结果:您好,mikecat!//mf1; 再见,mikecat!//mf2
   您好,迈克老猫! 再见,迈克老猫!//mf3
   再见,mikecat!//mf4


 


关键字 本文所属关键字

相关 与本文相关文章

分类 所有文章关键字导航

源码编程相关

Java   Asp   PHP   .Net   XML   C/C++   CGI   VB   Jsp   J2ee   J2se   J2me   EJB   Servlet   Tomcat   Resin   Struts   Weblogic   Eclipse   ANT   GUI   JMS   Web servise   IDEA   Webphere   Hibernate   Spring   Jboss   Applet   Swing   Socket   Javamail   Perl   Ajax   P2P   安全   模式   框架   测试   开源   游戏

SQL数据库相关

My-SQL   Ms-SQL   Access   DB2   Oracle   Sybase   SQLserver   索引   存储过程   加密   数据库   分页   视图  

手机无线相关

3G   Wap   CDMA   GRPS   GSM   IVR   彩信   短信   无线   增值业务

网页设计制作相关

HTML   CSS   网页配色   网页特效   Javascript   VBscript   Dreamweaver   Frontpage   JS   Web   网站设计

网站建设推广相关

建站经验   网站优化   网站排名   推广   Alexa

操作系统/服务器相关

Windows XP   Windows 2000   Windows 2003   Windows Me   Windows 9.x   Linux   UNIX   注册表   操作系统   服务器   应用服务器

图形图像多媒体相关

Photoshop   Fireworks   Flash   Coreldraw   Illustrator   Freehand   Photoimpact   多媒体   图形图像

标准 网站致力的规范

Valid CSS!

无不良内容,无不良广告,无恶意代码

Valid XHTML 1.0 Transitional

creativecommons