- 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++
您可能关注的文档
- 在esxi5.1中创建虚拟共享磁盘资料.pdf
- 一种嵌入式RPC的设计和实现.pdf
- 网页制作入门教程摘要.ppt
- 5.7 寄存器介绍与芯片比较.pdf
- 如何使用LINQ检索及操作数据库.doc
- 如何欣赏抽象画(一).doc
- 3 数据的输入及输出.ppt
- 区域主义的发展观、方法论与其启示.pdf
- 2012CB821300-G光频标关键物理问题和技术实现.pdf
- 同井抽注采油树配套技术指南.pdf
- 2025江西赣州经济技术开发区综合执法大队招聘见习生2人备考题库带答案详解(基础题).docx
- 2025江西赣州经济技术开发区综合执法大队招聘见习生2人备考题库带答案详解(培优b卷).docx
- 多渠道零售环境中的产品推出优化策略.docx
- 钢铁智能制造项目商业投资计划书.docx
- 2025江西赣州经济技术开发区综合执法大队招聘见习生2人备考题库带答案详解(名师推荐).docx
- 2025-智慧农业园区整体建设方案-1.docx
- 金属结构连接的专业技术标准与关键.docx
- 2025江西赣州经济技术开发区综合执法大队招聘见习生2人备考题库带答案详解(典型题).docx
- 项目式学习:设计与搭建智能机器人虚拟竞技场.docx
- 创业项目计划书智能农业自动化种植.docx
原创力文档

文档评论(0)