C++和C#第六章.pptVIP

  • 2
  • 0
  • 约3.7千字
  • 约 31页
  • 2017-06-19 发布于湖北
  • 举报
C++与C# 第六章 C#基本语言 * * 北航软件所 孙自安 北航如心楼606 电话Email: sza@buaa.edu.cn C# 完全面向对象的 事件驱动的 可视化编程语言 1.1 创建C# Console程序 .NET中新建项目 名字可以改变 1.2 程序结构 C#的程序文件后缀为.cs C#的基本单元:类(class),C#中没有全局变量、常量和全局函数 一个可执行程序中有且只有一个类包含Main成员函数: static void Main ( string [ ] args ) { …… } 程序入口 class Class1 { private int num; private int sum; static void Main(string[] args) { num = 10; int result = calSum(); } void setNum ( int v) { num = v; } int calSum( ) { sum = 0; for ( int i=1;i=num;i++) sum+=i; return sum; } } 名字空间: 同一工程中的类定义缺省放在同一名字空间中,空间名字与工程名字相同 使用名字空间: using System; 使用某一名字空间时,必须添加相应组件引用 System名字空间和组件是自动添加的 1.3 预定义数据类型 object 字符串类 string 64位 浮点数 double 32位 浮点数 float 128位 货币 decimal 64位 无符号整型 ulong 64位 有符号整型 long 32位 无符号整型 uint 32位 有符号整型 int 16位 无符号整型 ushort 16位 有符号整型 short 8位 有符号整型 sbyte 8位 无符号整型 byte 16位 Unicode字符 char 8位 布尔型:true, false bool 含义 数据类型 利用数据类型定义的变量的方式与C++相同 注意: C#中隐式转换只允许从“窄类型”向“宽类型”转换 显式类型转换与C语言相同 double d = 10.5; int i = d; System中:Int64,Int32,Double等类可以将字符串分别转换成64, 32的整型或浮点型: string str1=“12”, str2 =“16”,str3=“12.5”; int i = Int32.Parse(str1); long l = Int64.Parse(str2); double d = Double.Parse(str3); string变量可以和另一数据类型的值连接生成更长的字符串: string str1 = “He has ”; Consoel.WriteLine ( str1+2+“ books.” ); //He has 2 books. 利用System中的String类格式化字符串: decimal amount = (decimal) 100.00; string str = String.Format ( “{0:C}”, amount); // str为: ¥100.00 1.4 值类型和引用类型 值类型:定义的变量包含该类型的值,预定义的各种数据类型都是值类型。(变量和值绑在一起) 引用类型:定义的变量包含数值在内存中存储的地址,自定义的类都是引用类型。 int i = 2; int j = i; j = 3; 2 i 2 j 3 注意:缺省情况下,值类型作为参数传递时是按值传递的,引用类型作为参数传递时是按地址传递的。 void swap ( int a, int b) { int temp = a; a = b; b = a; } 无法交换 int a = 10, b = 20; swap (a,b); c#提供了ref和out关键字: ref指定值类型参数按引用传递 C#规定实参必须有初始值,否则出现编译错误,但out可以指定实参无初始值,被调用的函数负责赋值。 void swap (ref int a, ref int b) { int temp = a; a = b; b = a; } swap ( ref a, ref b ); void sum ( int up, out int v ) { value = 0; for ( int i=1;i=up;i++

文档评论(0)

1亿VIP精品文档

相关文档