《工业机器人应用与二次开发》课件-认识C 知识_第1页
《工业机器人应用与二次开发》课件-认识C 知识_第2页
《工业机器人应用与二次开发》课件-认识C 知识_第3页
《工业机器人应用与二次开发》课件-认识C 知识_第4页
《工业机器人应用与二次开发》课件-认识C 知识_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

ABB机器人ABBROBOT二次开发ABBROBOTSecondarydevelopment第二章认识C#知识2.1C#简介2.2C#代码结构简介2.3C#语言的数据机制2.4

C#语言的函数应用机制CONTENTS目录2.5C#语言的流程控制机制2.1PART.C#简介

2.1.1C/C++/C#概念及发展过程2.1.2C#中重要功能2.1.3C#开发环境1.高效底层控制:直接操作内存/硬件2.过程式编程:函数为核心,无面向对象3.简洁轻量:标准库精简,依赖开发者自主管理资源1.面向对象+泛型:类、模板、STL容器2.高性能保留:兼容C特性,支持底层优化3.多范式编程:支持过程式、OOP、泛型、函数式1.托管语言:依赖.NET运行时(自动垃圾回收)2.现代语法:LINQ、异步编程(async/await)3.生态丰富:WinForm/WPF(桌面)、ASP.NET(Web)、UnityC语言2.1C#简介2.1.1C/C++/C#概念及发展过程C++语言C#语言2.1C#简介2.1.2C#中重要功能本次学习的重点功能是跨平台支持(.NET)C#可通过.NET运行在Windows、Linux、macOS等系统,而C/C++需针对不同平台编译。其他重要功能:·布尔条件·自动垃圾回收·标准库·组件版本·属性·和事件·委托·和事件管理·易于使用的泛型·索引器·条件编译·简单的多线程·集成WindowsWeb端数据监控核心优点2.1C#简介2.1.3C#开发环境控制台应用与.NET是C#的高效开发平台,我们基于此平台进行C#入门学习。2.2PART.C#代码结构

2.2.1C#程序结构2.2.2关键字2.2.3C#中的注释2.2.4成员函数2.2.5顶级语句2.2C#代码结构简介2.2.1C#程序结构输出结果如下2.2C#代码结构简介2.2.2关键字abstract(抽象)extern(外部)static(静态)virtual(虚拟)private(私有)internal(内部)volatile(易变)implicit(隐式)event(事件)delegate(委托)const(常量)override(重写)sealed(密封)public(公共)protected(受保护)readonly(只读)explicit(显式)unsafe(不安全)checked(检查)unchecked(不检查)intshortuintulongushortboolbytechardecimaldoublefloatlongsbytestringobjectinterfaceclassstructenum...if(条件判断)switch(分支选择)default(默认分支)while(循环)for(循环)continue(继续循环)return(返回)try(异常捕获块)finally(最终执行块)namespace(命名空间)else(否则)case(分支条件)foreach(遍历循环)do(循环)break(跳出循环)goto(跳转)throw(抛出异常)catch(捕获异常)using(使用资源/命名空间)...修饰词关键字输入关键字语句关键字2.2C#代码结构简介2.2.2关键字修饰词关键字1.修饰词关键字是一类用于限定变量、方法、类等程序元素特性的语法标记,它们不直接控制程序的执行流程,而是通过定义元素的“属性”或“行为规则”,影响程序的结构设计、内存管理和访问逻辑。修饰词关键字2.2C#代码结构简介2.2.2关键字输入关键字2.输入关键字是用于声明基本数据类型的关键字,它们分别对应不同的数据范围和用途,是构建程序数据结构的基础。输入关键字语句关键字3.语句关键字是一类特殊的语法标记,其核心作用是直接干预和调控程序的执行流程,是实现复杂运行逻辑的基础工具。2.2C#代码结构简介2.2.2关键字语句键字2.2C#代码结构简介2.2.3C#中的注释2.2C#代码结构简介2.2.4成员函数目标功能:编写一个计算盒子体积的简单类,通过Box的类输入长宽高,并调用getVolume方法获取体积。输出结果如下2.2C#代码结构简介2.2.5顶级语句创建NET8的控制台应用流程(使用顶级语句需要将计算机设置为运行.NET6或更高版本,vs2026版可以直接在应用内创建):1.下载.NET8.0并安装:/zh-cn/download/dotnet/8.02.在目标文件夹打开shell窗口,运行dotnetnewconsole-fnet8.0-n<项目名称>2.2C#代码结构简介2.2.5顶级语句运行结果1.正常实现输出文本2.顶级语句实现输出文本2.3PART.C#语言的数据机制

2.3.1C#数据类型2.3.2数据类型转换2.3.3C#变量2.3.4C#变量作用域2.3.5C#常量2.3C#语言的数据机制2.3.1C#数据类型值类型变量可以直接分配给一个值。值类型直接包含数据。比如int、char、float,它们分别存储数字、字符、浮点数。当声明一个int类型时,系统分配内存来存储值。下表列出了C#2010中可用的值类型。类型描述范围默认值bool布尔值True或FalseFalsebyte8位无符号整数0到2550char16位Unicode字符U+0000到U+ffff'0'decimal128位精确的十进制值28-29有效位数(-7.9×10²⁸到7.9×10²⁸)/10⁰到280.0Mdouble64位双精度浮点型(+/-)5.0×10⁻³²⁴到(+/-)1.7×10³⁰⁸0.0Dfloat32位单精度浮点型-3.4×10³⁸到3.4×10³⁸0.0Fint32位有符号整数类型-2,147,483,648到2,147,483,6470long64位有符号整数类型-9,223,372,036,854,775,808到9,223,372,036,854,775,8070Lsbyte8位有符号整数类型-128到1270short16位有符号整数类型-32,768到32,7670uint32位无符号整数类型0到4,294,967,2950ulong64位无符号整数类型0到18,446,744,073,709,551,6150ushort16位无符号整数类型0到65,53502.3C#语言的数据机制2.3.2变量定义C#中的变量定义在这里,data_type必须是一个有效的C#数据类型,可以是char、int、float、double或其他用户自定义的数据类型。variable_list可以由一个或多个用逗号分隔的标识符名称组成。在变量定义时进行初始化。一些有效的变量定义如下所示:2.3C#语言的数据机制2.3.2数据类型转换(隐式类型转换)int类型范围大于byte,因此可以将byte直接赋值给int类型,无需进行手动的转换01将一个整数赋值给一个长整数,或者将一个浮点数赋值给一个双精度浮点数,这种转换不会导致数据丢失022.3C#语言的数据机制2.3.2数据类型转换(显式转换)int类型范围大于byte,因此将int赋值给byte类型时需手动进行显示转换。注意:强制转换可能损失精度。强制转换为字符串类型2.3C#语言的数据机制2.3.2数据类型转换(类型转换方法)类型描述范围默认值bool布尔值True或FalseFalsebyte8位无符号整数0到2550char16位Unicode字符U+0000到U+ffff'0'decimal128位精确的十进制值28-29有效位数(-7.9×10²⁸到7.9×10²⁸)/10⁰到280.0Mdouble64位双精度浮点型(+/-)5.0×10⁻³²⁴到(+/-)1.7×10³⁰⁸0.0Dfloat32位单精度浮点型-3.4×10³⁸到3.4×10³⁸0.0Fint32位有符号整数类型-2,147,483,648到2,147,483,6470long64位有符号整数类型-9,223,372,036,854,775,808到9,223,372,036,854,775,8070Lsbyte8位有符号整数类型-128到1270short16位有符号整数类型-32,768到32,7670uint32位无符号整数类型0到4,294,967,2950ulong64位无符号整数类型0到18,446,744,073,709,551,6150ushort16位无符号整数类型0到65,5350序号关键字注释1ToBoolean如果可能的话,把类型转换为布尔型。2ToByte把类型转换为字节类型。3ToChar如果可能的话,把类型转换为单个Unicode字符类型。4ToDateTime把类型(整数或字符串类型)转换为日期-时间结构。5ToDecimal把浮点型或整数类型转换为十进制类型。6ToDouble把类型转换为双精度浮点型。7ToInt16-64把类型转换为16位整数类型。8ToSbyte把类型转换为有符号字节类型.9ToSingle把类型转换为小浮点数类型。10ToString把类型转换为字符串类型。11ToType13把类型转换为指定类型。12ToUInt16把类型转换为16位无符号整数类型。C#提供了如左侧列表的类型转换方法例如,使用Convert.ToInt32方法将字符串转换为整数:2.3C#语言的数据机制2.3.4C#变量作用域局部变量:在方法、循环、条件语句等代码块内声明的变量是局部变量,它们只在声明它们的代码块中可见。2.3C#语言的数据机制2.3.4C#变量作用域块级作用域:在C#7及更高版本中,引入了块级作用域,即使用大括号{}创建的任何块。注意,哪怕是自己直接创建的{},也同样具有这种特性。2.3C#语言的数据机制2.3.4C#变量作用域全局变量:在类的成员级别定义的变量是成员变量,它们在整个类中可见,如果在命名空间级别定义,那么它们在整个命名空间中可见。2.2C#代码结构简介2.3.4变量作用域1、定义全局变量和局部变量举例2、字段和局部变量的作用域冲突举例2.3C#语言的数据机制2.3.5C#静态变量与常量静态变量作用域:静态变量是在类级别上声明的,但它们的作用域也受限于其定义的类。例如使用static进行声明。2.3C#语言的数据机制2.3.5C#常量整数常量:整数常量可以是十进制、八进制或十六进制的常量。前缀指定基数:0x或0X表示十六进制,0表示八进制,没有前缀则表示十进制。整数常量也可以有后缀,可以是U和L的组合,其中,U和L分别表示unsigned和long。后缀可以是大写或者小写,多个后缀以任意顺序进行组合。2.3C#语言的数据机制2.3.5C#常量转义序列含义\\\字符\''字符\""字符\??字符\aAlert或bell\b退格键(Backspace)\f换页符(Formfeed)\n换行符(Newline)\r回车\t水平制表符tab\v垂直制表符tab\ooo一到三位的八进制数\xhh...一个或多个数字的十六进制数2.4PART.C#语言的函数机制

2.4.1封装2.4.2函数方法2.4C#语言的函数应用机制2.4.1封装C#封装:封装被定义为"把一个或多个项目封闭在一个物理的或者逻辑的包中"。在面向对象程序设计方法论中,封装是为了防止对实现细节的访问。类型描述范围默认值bool布尔值True或FalseFalsebyte8位无符号整数0到2550char16位Unicode字符U+0000到U+ffff'0'decimal128位精确的十进制值28-29有效位数(-7.9×10²⁸到7.9×10²⁸)/10⁰到280.0Mdouble64位双精度浮点型(+/-)5.0×10⁻³²⁴到(+/-)1.7×10³⁰⁸0.0Dfloat32位单精度浮点型-3.4×10³⁸到3.4×10³⁸0.0Fint32位有符号整数类型-2,147,483,648到2,147,483,6470long64位有符号整数类型-9,223,372,036,854,775,808到9,223,372,036,854,775,8070Lsbyte8位有符号整数类型-128到1270short16位有符号整数类型-32,768到32,7670uint32位无符号整数类型0到4,294,967,2950ulong64位无符号整数类型0到18,446,744,073,709,551,6150ushort16位无符号整数类型0到65,5350访问修饰符楼的区域对应角色的访问权限编程中的实际访问范围Public(公共)一层大厅所有人均可进入所有代码(无论是否同程序集、是否同继承体系)均可访问Private(私有)私人办公室仅本人可进入仅当前类内部的代码可访问,派生类、外部类均不可访问Protected(受保护)部门会议室仅本部门员工(同继承体系的类)可进入当前类+所有派生类(无论是否同程序集)可访问Internal(内部)内部员工走廊仅本公司所有员工(同程序集的类)可通行仅同一程序集内的所有代码可访问,不同程序集不可访问Protectedinternal(受保护内部)研发资料室仅本公司的指定部门员工(同程序集+同继承体系的类)可进入同一程序集内的所有代码+不同程序集但属于继承体系的代码可访问2.4C#语言的函数应用机制2.4.2函数方法C#中定义方法当定义一个方法时,从根本上说是在声明它的结构的元素。在C#中,定义方法的语法如下:类型描述范围默认值bool布尔值True或FalseFalsebyte8位无符号整数0到2550char16位Unicode字符U+0000到U+ffff'0'decimal128位精确的十进制值28-29有效位数(-7.9×10²⁸到7.9×10²⁸)/10⁰到280.0Mdouble64位双精度浮点型(+/-)5.0×10⁻³²⁴到(+/-)1.7×10³⁰⁸0.0Dfloat32位单精度浮点型-3.4×10³⁸到3.4×10³⁸0.0Fint32位有符号整数类型-2,147,483,648到2,147,483,6470long64位有符号整数类型-9,223,372,036,854,775,808到9,223,372,036,854,775,8070Lsbyte8位有符号整数类型-128到1270short16位有符号整数类型-32,768到32,7670uint32位无符号整数类型0到4,294,967,2950ulong64位无符号整数类型0到18,446,744,073,709,551,6150ushort16位无符号整数类型0到65,5350AccessSpecifier访问修饰符,这个决定了变量或方法对于另一个类的可见性。Returntype:返回类型,一个方法可以返回一个值。返回类型是方法返回的值的数据类型。如果方法不返回任何值,则返回类型为void。Methodname方法名称,是一个唯一的标识符,且是大小写敏感的。它不能与类中声明的其他标识符相同。Parameterlist参数列表,使用圆括号括起来,该参数是用来传递和接收方法的数据。参数列表是指方法的参数类型、顺序和数量。参数是可选的,也就是说,一个方法可能不包含参数。Methodbody方法主体,包含了完成任务所需的指令集。2.4C#语言的函数应用机制2.4.2函数方法C#中的变量定义01C#中调用方法:1.在NumberManipulator类中定义FindMax方法2.在Main中调用FindMax方法:实例化一个对象n通过n.FindMax()进行调用输出结果如下2.5PART.C#语言的流程控制机制2.5.1C#判断2.5.2C#循环2.5.3C#异常处理

2.5C#语言的流程控制机制2.5.1C#判断下面是大多数编程语言中典型

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论