1.认识csharp
- 格式:ppt
- 大小:1.88 MB
- 文档页数:34
csharp基本概念-回复C#基本概念C#是一种通用的、面向对象的编程语言,由微软公司开发。
它的设计目标是为了使开发人员能够构建出高效可靠的应用程序。
C#基于.NET平台,因此可以在Windows、Linux和macOS等多个操作系统上运行。
本文将围绕C#的基本概念展开,探讨其语法、数据类型、流程控制以及面向对象编程等主题,以帮助读者更好地理解和运用C#。
一、基本语法1. 命名空间(namespace)在C#中,命名空间是用来组织和管理代码的一种方式。
命名空间用来防止命名冲突,也可以让代码更有结构性。
可以使用using关键字导入其他命名空间。
2. 类(class)类是C#中最基本的构建块之一。
类定义了对象的属性和方法。
通过创建类的实例,可以实现对这个类进行操作和访问。
3. 方法(method)方法是指一系列的语句,它们一起完成某个特定的功能。
在C#中,方法必须定义在类中。
4. 变量和数据类型C#支持多种数据类型,可根据需求选择合适的类型来存储数据。
常见的数据类型有整型(int)、浮点型(float)、布尔型(bool)等。
变量是用来存储数据的容器,可以通过给变量赋值来存储相应的数据。
二、数据类型1. 值类型和引用类型在C#中,数据类型可分为值类型和引用类型。
值类型变量直接包含数据的实际值,而引用类型变量存储了对象的引用。
值类型在栈上分配内存,而引用类型在堆上分配内存。
2. 数组(array)数组是一种存储固定大小元素的集合,可以通过索引访问数组中的元素。
在C#中,数组可以是值类型或引用类型。
3. 字符串(string)字符串是C#中的常用数据类型,用于存储多个字符。
C#中的字符串是不可变的,即无法直接修改字符串中的字符。
可以通过使用字符串类的方法和属性来操作字符串。
三、流程控制1. 条件语句C#中的条件语句用于根据特定的条件来执行不同的代码块。
常见的条件语句有if语句、if-else语句和switch语句。
CSharp学习资料第一章.NET体系结构简介体系主要由以下两部分组成Framework类库.NETFramework类库是一个内容丰富的类集合,它可以完成以前要通过WindowAPI来完成的绝大多数任务。
CLR是.NETFramework的核心执行环境,也称.NET运行库。
1.2CLR概述CLR主要负责“托管代码”的编译和运行。
在.NET中代码的编译分为两个阶段,如图1.1所示:1、把源代码编译为Microoft中间语音(MSIL);2、CLR把MSIL编译为平台专用的代码。
某.cC#源代码编译器CLR激活JIT目标机器MSIL微软(Window中间语音、Linu某等)图中C#语音的执行过程1.21托管代码(ManagedCode)托管代码是由CLR运行环境(不是直接由操作系统)执行的代码。
托管代码的优点:平台无关性提高性能语音的互操作性1.22非托管代码(UnmanagedCode)非托管代码是由操作系统直接执行的代码。
非托管代码必须提供自己的垃圾回收、类型检查、安全支持等服务;它与托管代码不同,后者从公共语言运行库中获得这些服务。
非托管代码有汇编语音、C语音等。
托管代码和非托管代码区别:前者运行效率稍低,代码编写容易,开发效率高;后者运行效率高,代码编写较难,开发效率低。
第二章面向对象语言C#基础2.1C#简介2.11第一个C#程序(控制台应用程序)uingSytem;//引用命名空间namepaceBitPC.CSharp.Baic//定义命名空间{claMyFirtCSharpCla//引用类类型{publictaticvoidMain()//方法{Conole.WriteLine(“ThiimyfirtC#program!”);//输出无参字符串//输出带参数的字符串Conole.WriteLine(“{0},你好,你的性别是{1}的!”,”唐健”,”男”);Conole.ReadLine();return;}}}2.2变量2.21变量的定义及初始化在C#中声明变量使用的语法:数据类型变量;例如:inti;变量只能先定义后使用;定义变量后必须初始化才能使用;变量要占用一定字节数的内存单元,以上声明会在堆栈中给i分配4个字节。
Csharp基础笔记知识点整理/** @version: V.1.0.0.1* @Author: fenggang* @Date: 2019-06-16 21:26:59* @LastEditors: fenggang* @LastEditTime: 2019-06-18 01:31:12* @Descripttion: csharp 基础笔记*/基础知识介绍: using 关键字 1、⽤来引⽤.NET 框架类库中的资源 2、通常在程序⽂件的开头使⽤ 3、如果程序中需要多种资,可以使⽤多次using System 命名空间 1、system 命名空间提供了构建应⽤程序所需的系统功能访问 class 类 1、在C#或其他⾯向对象语⾔中,需要编写类 2、使⽤关键字 class 定义⼀个类,类的内容放在⼀对{}中 ⽰例: class HelloWord { // 类内容 } Main ⽅法 1、Main ⽅法是应⽤程序的⼊⼝点,编译器将由该处开始执⾏程序 2、⽅法体也放在⼀对{}中 3、每个 C# 的应⽤程序都必须包含 Main ⽅法 4、static 表⽰ Main ⽅法是⼀个全局⽅法 5、void 表⽰ Main ⽅法没有任何返回值,即返回时空 6、参数放在⼩括号中定义,⼩括号中没有内容证明没有任何参数 语句 1、语句之间⽤(";")分号分割,编译器通过分号来区分多个语句 2、使⽤⼤括号{}标识莫格代码块的开始和结束,从⽽可以对语句进⾏组合,⼤括号必须承兑匹配 3、数据语句:Console.WriteLine("Hello Word"); 4、Hello Word 在屏幕上显⽰的内容 5、Console 代表标准输出设备到屏幕,它属于System命名空间 6、WriteLine ⽅法是Console类⽅法,访问类或对象的⽅法使⽤点取符来完成 7、字符串⽤双引号"" 8、字符串 "Hello Word" 是WiteLine⽅法参数,表⽰屏幕输出的内容 代码规范格式 1、良好、清晰的组织代码 2、提⾼代码可读性,易于代码维护 3、缩进 4、区分⼤⼩写 5、忽略空⽩区 6、注释 注释 1、单⾏注释 // 2、多⾏注释 /** */ 和 /* */ csharp 数据类型 类型 .NET Framework 类型 1、bool System.Boolean 2、byte System.Byte 3、sbyte System.SByte 4、char System.Char 5、decimal System.Decimal 6、double System.Double 7、float System.Single 8、int System.Int32 9、uint System.Uint 10、long System.Int64 11、ulong System.Uint64 12、object System.Object 13、short System.Int16 14、ushort System.Uint16 15、string System.string C# 的内置数据类型⼤致划分 逻辑型: bool ⽂本型: char, string 整型: byte, sbyte, short, ushort, int, uint, long, ulong 浮点型: float, double, decimal 声明变量 作⽤:通过声明变量,可以在内存中为该变量申请存储空间 语法:类型变量名; 初始化变量 作⽤:给变量分配初始值 语法:变量名 = 初始值; 初始值注意事项: bool 只有两个值: true 或 false char 表⽰单个 Unicode 字符,⽤''[单引号]表⽰ 特殊字符和转义字符 有些特殊字符⽆法直接放在引号中,此时要表⽰这些字符,必须使⽤转义符 字符名称 转义符 反斜线 \\ 退格 \b 回车 \r 双引号 \" ⽔平制表符 \t 垂直制表符 \v 换⾏ \n 单引号 \' 声明并初始化字符串 1、字符串表⽰任意长度的 Unicode 字符序列 2、字符串使⽤""表⽰ 3、可以使⽤转义字符或 verbatim 字符 常量创建以及使⽤ 1、常量⼀旦被初始化,其数值保持不变的变量 2、常量通常表⽰有意义固定数值,如圆周率 3、声明常量是必须对其赋值 语法: const 类型常量名 = 数值 枚举 1、枚举类型是⼀组被命名额数字常量(枚举是⼀组有限的值), 即:⼀个枚举类型中包含了多个相关的数字常量,且每个常量都被赋予了⼀个容易记忆的 2、枚举关键字 enum 类型转换 1、相同的数据类型可以混合运算,运算中,不同的数据类型先被⾃动转为相同的数据类型, 然后在进⾏运算,转换时低容量的数据类型像⾼容量数据类型转换 2、由低到⾼排列数据类型 byte-->short-->int-->long-->float-->double 3、将⼩容量数据类型转换成⼤容量数据类型时,系统⾃动完成,成为隐式转换 4、将⼤容量数据类型转换成⼩容量数据类型时,必须使⽤强制类型转换 表达式 1、运算符号 常见的运算符号 ⽰例 增/减 ++ -- 算术 * / % + - 关系 < > <= >= 相等 == != 条件 && || ?: 赋值 = *= /= %= += -= <<= >>= &= ^= |= 2、运算符的优先级,个⽇常⽣活中计算⽅式⼀样(先乘除再加减) 3、做结合和有结合 所有⼆元运算符都是做结合的 a=b=c 赋值运算符和条件运算符都是有结合的 a:b?a:c>d?c:d; 条件语句 1、条件语句可以根据布尔表达式值,有选择性的执⾏程序的某⼀部分 2、在 C# 中的条件语句有 if 和 switch 两种 3、if 适合两个分⽀判断 if( 布尔表达式 ) { 语句块1; }else{ 语句块2; } 4、else 部分可选 5、if...else 可以嵌套 6、运算符 (?:) 是 if...else 的缩略形式 7、switch 适合多个分⽀判断 switch (待检测表达式) { case value1: 语句; break; case value2: 语句; break; ... default: break; } switch 语句的使⽤⽅法 1、表达式中求值的类型可以是整型、字符型、字符串、枚举类型 2、计算表达式的值并进⾏等值匹配,若表达式的值与某个 case 标记中的值相等,则执权转到该 case 标记后的语句 3、break 跳出整个 switch 每个 case 中必须使⽤ break, C# 不允许从⼀个 case 进⼊下⼀个 case, 称为不可贯穿性 4、若没有任何⼀个 case 标记的⾄于表达式匹配,则转到 default 语句中,若没有定义 default, 则结束 switch 判断 5、default 是可选的,但通常需要定义,以捕获没有被任何 case 处理的值, 其作⽤相当于 else 循环语句 1、借助循环机制,编译器可以重复执⾏⼀块代码,直⾄满⾜某个条件为⽌,从⽽避免重复输⼊相同的代码⾏ 2、C# 提供的循环机制有: for 循环 while 循环 do 循环 for 循环 1、for 循环⽤于将代码块执⾏固定的次数 for ( 初始化表达式; 循环条件; 迭代表达式 ) { 循环语句: } 2、先执⾏初始化表达式,此部分只执⾏⼀次 3、判断条件表达式,若满⾜条件则执⾏循环体,否则跳出 for 循环 4、每次循环语句执⾏完后要执⾏⼀次迭代,并重新判断条件 while 循环 1、与 for 循环类似,也是预测试循环,即⾸先判断循环条件,若满⾜则执⾏循环;否则不执⾏循环 while ( 循环条件 ) { 循环语句; } 2、当不知道煦暖执⾏的次数时,可以使⽤ while 循环 do while 循环 1、先执⾏循环语句,在进⾏循环条件测试,所以循环语句⾄少执⾏⼀次,成为测试循环 2、do while 循环先循环后判断,⽐ while 循环多执⾏⼀次 do { 循环语句; } while ( 循环条件 ); 特殊的循环控制 1、continue 关键字终⽌当次循环,开始下⼀次迭代和循环(并不终⽌整个循环) 2、break 关键字跳出和中⽌整个循环。
第一讲C#语言简介§1.1 概述C#(读作“See Sharp”)是一种简单、现代、面向对象且类型安全的编程语言, C# 起源于 C 语言家族。
C# 是面向对象的语言,然而C# 进一步提供了对面向组件(component-oriented) 编程的支持。
C#具有一个统一类型系统(unified type system)。
所有C# 类型(包括诸如int和double之类的基元类型)都继承于一个唯一的根类型:object。
因此,所有类型都共享一组通用操作,并且任何类型的值都能够以一致的方式进行存储、传递和操作。
此外,C# 同时支持用户定义的引用类型和值类型,既允许对象的动态分配,也允许轻量结构的内联存储。
为了确保C# 程序和库能够以兼容的方式逐步演进,C# 的设计中充分强调了版本控制(versioning)。
许多编程语言不太重视这一点,导致采用那些语言编写的程序常常因为其所依赖的库的更新而无法正常工作。
C# 的设计在某些方面直接考虑到版本控制的需要,其中包括单独使用的virtual和override修饰符、方法重载决策规则以及对显式接口成员声明的支持。
§1.2 Hello world按照约定俗成的惯例,我们先从“Hello, World”程序着手介绍这一编程语言。
下面是它的C# 程序:【例1.1】“Hello, World”程序。
程序名称:Hello.csusing System;class Hello{static void Main() {Console.WriteLine("Hello, World");}}C# 源文件的扩展名通常是.cs。
假定“Hello, World”程序存储在文件hello.cs 中,可以使用下面的命令行调用Microsoft C# 编译器编译这个程序:csc hello.cs编译后将产生一个名为hello.exe的可执行程序集。
因为我们不光要写代码,而且要写好的代码,因此我们必须强调基础: 离散数学、算法与数据结构、操作系统、计算机体系结构、网络、编译原理等。
很多时候技术人员之间能力的高低,很可能就会取决于这写基础。
有朋友告诉我,这些计算机科学的基础的意义不仅仅在于知识本身,它们还能够让人的思维更符合计算机科学的发展和变革第三章变量和表达式3.1C#的基本语法C#编译器不考虑空格、回车符或tab字符。
C#是一种块结构的语言,所有语句都是代码块的一部分,用“{ … }”来界定。
注意花括号不需要附带分号。
代码块可以互相嵌套,被嵌套的块要缩进得多一些。
C#代码是区分大小写的。
3.2C#控制台应用程序的基本结构使用#region和#endregion关键字,可以定义展开和折叠的代码区域的开头和结尾。
以#开头的任意关键字实际上都是一个预处理命令。
3.3变量声明变量的C#语法是,指定类型和变量名:<type> <name>;3.3.1简单类型1、用N位来存储的变量可以表示任何介于0到(2N-1)之间的数。
大于这个值的数不能存储在这个变量中。
数值类型过多的原因是要用合适的数值类型存储适合的变量,不要浪费内存也不要出现不能满足变量范围的情况。
Byte:0—255; short:0—65535; int:0—4294967295……………2、这些类型中的每一种都利用了.NET Framework中定义的标准类型。
使用标准类型可以在语言之间交互操作。
在C#中这些类型的名称是Framework中定义的类型的别名,也就是说这些类型都是在Framework中。
3、浮点数变量类型:float/ double /decimal前两种用+/-m×2e,而decimal用+/-m×10e M和e都有最小值和最大值。
4、注意给字符串赋值时,必须小心换行。
C#编译器会拒绝分布在多行上的字符串.如果要多行显示可以使用\n. str=“this is \nmy mouse!”;3.3.2变量的命名变量名的第一个字符必须是字母,且不能使用特定含义的字符,系统的关键字等。
C#是微软公司在2000年6月发布的一种新的编程语言,并定于在微软职业开发者论坛(PDC)上登台亮相。
C#是微软公司研究院Anders Hejlsberg的最新成果。
C#看起来与Java有着惊人的相似;它包括了诸如单一继承、界面、与Java几乎同样的语法,和编译成中间代码再运行的过程。
但是C#与Java有着明显的不同,它借鉴了Delphi的一个特点,与COM(组件对象模型)是直接集成的,而且它是微软公司.NET windows网络框架的主角。
C# 是微软对这一问题的解决方案。
C#是一种最新的、面向对象的编程语言。
它使得程序员可以快速地编写各种基于MICROSOFT .NET平台的应用程序,MICROSOFT .NET 提供了一系列的工具和服务来最大程度地开发利用计算与通讯领域。
正是由于C#面向对象的卓越设计,使它成为构建各类组件的理想之选——无论是高级的商业对象还是系统级的应用程序。
使用简单的C#语言结构,这些组件可以方便的转化为XML网络服务,从而使它们可以由任何语言在任何操作系统上通过INTERNET进行调用。
最重要的是,C#使得C++程序员可以高效的开发程序,而绝不损失C/C++原有的强大的功能。
因为这种继承关系,C#与C/C++具有极大的相似性,熟悉类似语言的开发者可以很快的转向C#。
其特点有:
·语言简洁。
·保留了C++的强大功能。
·快速应用开发功能。
·语言的自由性。
·强大的Web服务器控件。
·支持跨平台。
·与XML相融合。
第2章C# 语言基础本章将首先介绍C# 的基本数据类型、关键字和标识符、常量与变量、运算符和表达式,以及C# 编码规范等基础知识。
然后介绍C#程序控制结构的概念以及选择结构与循环结构的实现,最后介绍C# 中的数组、方法、类与对象以及文件操作。
2.1 数据类型数据类型是对各种数据形态的描述,如整型、浮点型等。
在计算机中,数据类型的不同决定所占内存存储空间的大小,使用什么样的数据类型要根据实际情况而定。
C# 提供了大量的内置数据类型,被称为基本数据类型,与之对应的是用户自定义的复合数据类型,本节只介绍基本数据类型。
C# 语言与.NET框架的结合是无缝的,因此,提供给C# 开发者的基本数据类型也是.NET框架的一部分。
表2-1列举了C# 语言中的基本数据类型,以及与它们对应的.NET框架的数据类型、大小和说明。
表2-1 C# 的基本数据类型2.2 标识符与命名空间标识符是计算机语言里常用的一个术语,而命名空间是微软在.NET中提出的一个新概念。
本节将介绍这些概念。
2.2.1 关键字与标识符在Visual C# 2008中,关键字是对编译器具有特殊意义的预定义保留符号。
如if、int、do等都是Visual C# 2008的关键字,它们不能在程序中用作标识符,除非它们有一个“@”前缀(只有在特殊的情况下使用,否则并不提倡这么做)。
例如,“@if”是一个合法的标识符,而“if”不是合法的标识符,因为它是关键字。
在Visual C# 2008中,常量、变量、函数、类等的命名必须遵循一定的规则,通常把符合这些规则的名称称为Visual C# 2008的合法标识符,这些规则如下。
(1) 标识符必须由字母、十进制数字、下划线(_)或汉字组成,且只能以字母、下划线或汉字开头。
(2) 如果以下划线开头,则必须包括至少一个其他字符。
(3) 不能是Visual C# 2008中的关键字(保留字)。
(4) Visual C# 2008的标识符区分大小写。