知识大全 C#简明教程
Posted 类型
篇首语:莫道桑榆晚,为霞尚满天。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 C#简明教程相关的知识,希望对你有一定的参考价值。
C#简明教程 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
首先讲解一下c# 这里只是粗略的讲解 详细内容请购买相关书籍 或参阅相关文档 c#已经取消了c++中的指针 并且在c++中大量被使用的操作符 (:: >)已经不在出现 c#中指支持一个 c#具有面向对象编程语言的所有特性 如封装 继承 多态等 而且比java更面向对象 每种类型都可以看作一个对象 但c#指允许单继承 即一个类不会有多个基类 另外 c#没有了全局函数 没有了全局变量 也没有了全局常量 一切都必须封装在一个类中 下面举一个控制台应用程序的小例子 using System;class MikeCat public static void Main() Console WriteLine( 迈克老猫c# 入门系列教程--欢迎访问老猫的理想 ); 在c#中程序总是从Main()方法开始 Main()方法必须且只能包含在一个类中 Main()方法返回的类型可以是void(无返回值)或int(返回代表应用程序错误级别的整数) 上面的using System;用于导入名字空间(Namespace)用来表明类的层次关系 如果不用using导入名字空间 则每次用某一个类时就得在类名前面加上名字空间 c#程序的输入输出通过Console来实现 Console是System名字空间下的一个类 在屏幕上输出一个字符串用Console WriteLine() 接受输入设备的输入用Console ReadLine()方法 程序代码 class MikeCat public static void Main() System Console WriteLine( 迈克老猫c# 入门系列教程--欢迎访问老猫的理想\\n ); System Console WriteLine( 请输入用户名 ); string user=System Console ReadLine(); System Console WriteLine( 欢迎你 的光临! user);WriteLine()方法的参数表中紧随串后的第一个参数将替换
如果执行程序时要传递命令行参数给应用程序 则Main()方法的格式应为 using System;public class MikeCat public static void Main(string[] args) Console WriteLine( 共有 个命令行参数 args Length); for(int i= ;i Console WriteLine( Arg[ ]=[ ] i args[i]);
c#中的单行注释用// 多行注释用/* */
c#中使用常量
using Systemclass MikeCat public const double PI= ; public static void Main() Console WriteLine( 圆周率PI的值为 PI);
结构体类型(struct)是一种复合数据类型 用于将某些相关的数据组织到一个新的数据类型中
using System;struct MikeCat public string Mike;//user public uint Age;//age public string Email;//email
class mf public static void Main() MikeCat zl;//声明结构体类型变量zl zl Name= 迈克老猫 ; zl Age= ; zl Email= ; Console WriteLine( 姓名 年龄 邮箱 zl Name zl Age zl Email);
c#中枚举类型(enum)是一组逻辑上密不可分的整数值
c#中枚举类型中的每个元素类型均为int byte long short型 且第一个元素值为 其后面的按 递增 在枚举中也可以直接给元素赋值 后面的递增 enum WeekDay:byte Sunday= Monday Tuesday Wednesday Thursday Friday Saturday继续上回 数组是我们经常用到的 我来介绍一下 数组是具有相同类型的一组数据 当访问数组中的数据时 可以通过下标来指明 c#中数组元素可以为任何数据类型 数组下标从 开始 即第一个元素对应的下标为 以后逐个递增 数组可以一维也可多维 //包含 个元素的一维整数数组; int[] mf =new int[ ]; //注意初始化数组的范围 或者指定初值; //包含 个元素的一维整数数组 初值 int[] mf =new int[ ] ; //一维字符串数组 如果提供了初始值设定项 则还可以省略 new 运算符 string[] mf = c c++ c# ; //一维对象数组 Object[] mf = new Object[ ] ; //二维整数数组 初值mf [ ]= mf [ ]= mf [ ]= mf [ ]= int[ ] mf =new int[ ] ; // * 的二维整型数组 int[ ] mf =new mf[ ]; 下面来看一个一维字符串数组的遍历 using System; public class MikeCat static void PrintArray(string[] arr) //打印数组元素 arr Length 表示数组元素的个数 for(int i= ;i Console WriteLine( arr[ ]= i arr[i]); public static void Main() string[] arr= c c++ c# ; //将数组作为一个参数传递 PrintArray(arr); 程序结果 arr[ ]=c arr[ ]=c++ arr[ ]=c# 下面来看一个 行 列( * )的整型数组的遍历 using System; public class MikeCat static void PrintArray(int[ ] arr) //通过两次FOR循环遍历二维数组 for(int i= ;i< ;i++)//初始化i作为循环变量 i++实现该变量的自增运算 //for循环满足条件后执行完循环体一次后执行i++ 然后进入下次循环 简单的c语法 这里做简单介绍照顾初学者 (详细可参阅谭浩强先生的c语言程序设计一书) for(int j= ;j< ;j++) Console WriteLine( arr[ ]= i j arr[i j]);//打印每个二维数组元素 public static void Main() //主函数 //将数组作为一个参数传递 PrintArray(new int[ ] ; 运行结果 arr[ ]= arr[ ]= arr[ ]= arr[ ]= arr[ ]= arr[ ]= arr[ ]= arr[ ]= 类是面向对象程序设计的基本构造块 详细我们在后面介绍 这里我们介绍两个特殊的类 即object类和string类 object类 object类是预定义类System Object的别名 它是所有其他类型的基类 c#中所有类型都直接或间接从object类中继承 因此 一个object类的变量可以赋予任何类型的值 int i= ;object obj ;obj =i;object obj = a ; string类 string类专门用于对字符串的操作 他是预定义类System String的别名 string str = mikecat ; 可以用 + 号连接两个字符串 string str = username: + mikecat ; 如果访问单个字符 则要用下标 char c=str [ ]; 比较两个字符串是否相等 可用比较操作符 == //有别于basic语法 bool b=(str ==str ); 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( 您好 ! name); //定义与mfDelegate有相同参数类型的方法GoodBye() public static void GoodBye(string name) Console WriteLine( 再见 ! name); public static void Main() //创建一个mfDelegate实例 mf mfDelegate mf =new mfDelegate(Hello); //调用mf mf ( mikecat ); mfDelegate mf =new mfDelegate(GoodBye); mf ( mikecat ); //将mf mf 组合成一个新的委托mf mfDelegate mf =mf +mf ; //调用mf mf ( 迈克老猫 ); //从组合的委托mf 中删除mf mfDelegate mf =mf mf ; mf ( mikecat );
这次我们首先讲解一下类型转换 我们在写程序时经常用到类型转换 而且特别多的规则 我在这里粗略的讲解一下 隐式转换是系统默认的 不需要加以声明即可进行的转换 隐式数值转换 隐式数值转换实际上就是从低精度的数值类型转换到高精度的数值类型的转换 byte x= ;ushort y=x;y= ;float z=y;//均从低精度到高精度 反之会产生溢出隐式数值转换的类型太多 我就不多介绍 记住上面的原则就可以了 详细规则可查看msdn 隐式枚举转换 隐式枚举转换用于把十进制整数 转换成任何枚举类型 对应的其他整数则不存在这种转换
using System; enum Color Red Green Blue ; class MikeCat static void Main() Color c;//声明Color的变量c; c= ;//将 转换为Red; Console WriteLine( c的值是 c);//结果 c的值是Red;如果将c= 改成c= 则编译器会给出错误
隐式引用转换 从任何引用类型到object的转换 从类类型A到类类型B的转换 其中类A从类B派生得到 从类类型A到接口类型B的转换 其中类A实现了接口B 从接口类型A到接口类型B的转换 其中接口A是从接口B派生 从任何数组类型到System Array的转换 从任何委托类型到System Delegate的转换 从任何数组类型或委托类型到System ICloneable的转换 从空类型(null)到任何引用类型的转换 显示转换也称为强制转换 它需要用户明确地指定转换的类型
cha138/Article/program/net/201311/11894相关参考
Linux简明系统维护手册(1) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 摘要 本文
Linux简明系统维护手册(3) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! )配置samba
ASP.Net安装简明手册 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! ASPNet又叫ASP
学校要组织为汶川地震灾区募捐活动,请你以这个活动设计一条标语。要求:语言简明得体,20字以内爱心你我他,幸福千万家去汶川地震灾区旅游或许你也是曾经帮助过灾区的人,但是我希望你不要把自己放在有功的那种人
ASP.NET中Cookie编程简明参考 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 一写入C
面试中最需要自信普华永道人力资源部经理姜周红介绍说,一般在进行英语面试时,多是希望考查应征者听说读写的实际操作能力。小组讨论是英语面试的重要一环,一般来说,小组讨论形式的面试其目的主要是要了解应征者在
Jakarta-Tomcat简明中文版用户指南 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 本
知识大全 求“经历磨难,自立自强”的人物事例3个 最重要是100字左右吧 要求简明易懂
求“经历磨难,自立自强”的人物事例3个最重要是100字左右吧要求简明易懂1、桑兰与奥运——自立自强,笑对人生桑兰在1998年7月参加世界友好运动会时受重伤,造成高位截瘫。1998年美国有影响的《人物》
知识大全 Oracle10gR2RAC+RHEL4+VMWareGSX简明安装步骤
Oracle10gR2RAC+RHEL4+VMWareGSX简明安装步骤 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们
知识大全 要一篇 “书对人的意义”的英文作文 不需太长读起来2分左右就可 简明清晰 线上等
急!要一篇“书对人的意义”的英文作文不需太长读起来2分左右就可简明清晰线上等!OfStudiesFrancisBaconStudiesservefordelight,forornament,andfo