C#入门教程.ppt
《C#入门教程.ppt》由会员分享,可在线阅读,更多相关《C#入门教程.ppt(430页珍藏版)》请在咨信网上搜索。
第1章 C#与NET平台介绍本章目标了解.NETFramework的结构理解.NETFramework的基本概念CLRJITCTSMSIL了解.NETFramework命名空间了解C#程序的基本结构1 C#语言的由来在过去的二十年里,C和C+已经成为在商业软件的开发领域中使用最广泛的语言。它们为程序员提供了十分灵活的操作,不过同时也牺牲了一定的开发效率。与VB等语言相比,同等级别的C/C+应用程序往往需要更长时间来开发。由于C/C+语言的复杂性,许多程序员都试图寻找一种新的语言,希望能在功能与效率之间找到一个更为理想的权衡点。VB以牺牲灵活性的代价来提高效率。可是这些灵活性正是C/C+程序员所需要的。这些解决方案对编程人员的限制过多(如屏蔽一些底层代码控制的机制),所提供的功能难以令人满意。这些语言无法方便地同早先的系统交互,也无法很好地和当前的网络编程相结合。对于C/C+用户来说,最理想的解决方案无疑是在快速开发的同时又可以调用底层平台的所有功能。他们想要一种和最新的网络标准保持同步并且能和已有的应用程序良好整合的环境。另外,一些C/C+开发人员还需要在必要的时候进行一些底层的编程。C#(C sharp)是对这一问题的解决方案。C#是一种新的、面向对象的编程语言。它使得程序员可以快速地编写各种基于Microsoft.NET平台的应用程序,Microsoft.NET提供了一系列的工具和服务来最大程度地开发利用计算与通讯领域。C#语言的特点:C#语言是Microsoft发布的一种全新的编程语言,是其.Net战略的一枚重要棋子。C#语言是面向对象的、现代的编程语言,用C#编写的应用程序可以充分利用.Net的框架体系带来的优点.既可以用来编写基于通用网络协议的Internet服务软件,也可以编写各种数据库、网络服务应用程序和Windows窗口界面程序。C#继承了C/C+的优点和灵活性,能够充分利用OS系统的底层功能,同时又具备了完全的面向对象特性。可以让初学者直接了解面向对象编程的各种概念,学习现代的编程思想和手段。代码代码代码代码被执行被执行被执行被执行编译器编译器编译器编译器可执行可执行代码代码可执行可执行代码代码RUNTIMERUNTIME2 .NET代码的编译语言特定的编译器和运行库代码代码代码代码被执行被执行被执行被执行编译器编译器编译器编译器可执行可执行代码代码可执行可执行代码代码RUNTIMERUNTIMEIL+元数据CLRIL 和 CLR 的使用INTERMEDIATE LANGUAGECOMMON LANGUAGE RUNTIME编译执行.NET 程序MSIL+元数据元数据机器机器代码代码代码代码被执行被执行CLR第一次编译第一次编译第二次编译第二次编译.NET程序被编译两次,第一次编译很慢,而第二次程序被编译两次,第一次编译很慢,而第二次编译较快!编译较快!语言语言编译器编译器.NET源源代码代码MICROSOFT 中间语言MSIL+元数据机器代码代码被执行CLRMSIL帮助语言实现互操作IL不是字节代码,但很接近字节代码。因此,执行应用程序时,IL到机器码的转换速度非常快!通过CLR将MSIL转换为具体CPU的代码CPU无关的指令集语言语言编译器编译器.NET源代码程序集moduleIL语言范例 IL_0000:nopIL_0001:callIL_0006:nopIL_0007:ldc.i4.0IL_0008:callIL_000d:nopIL_000e:ldnullIL_000f:ldftnIL_0015:newobjIL_001a:callIL_001f:nopIL_0020:newobjIL_0025:callIL_002a:nopIL_002b:newobjIL_0030:throw通用语言运行时CLRCLR.NET源代码MSIL+元数据机器代码代码被执行管理内存易于设计组件和应用程序,其对象可以跨语言互动跨语言集成(特别是跨语言继承)JIT编译器:一次编译,就可运行在支持运行库的任何CPU和操作系统上语言语言编译器编译器.NET的语言互操作性:不同语言编写的代码可互相调用C#的平台移植性:框架JIT编译器(JustInTime,即时编译器)3 .NET FRAMEWORK 简介.NETFramework类似于JVM.NETFramework两个主要组件:通用语言运行时(CLR)统一的类库集.NET的类库:线程文件输入/输出(I/O)数据库支持XML 解析数据结构.NET FRAMEWORK 的体系结构VisualStudio.NETVisualStudio.NETCLRCLR通用语言运行时通用语言运行时(CLR)BaseClassLibrary:BaseClassLibrary:IO,Drawing,ThreadingDataandXMLDataandXMLXMLWebXMLWebservicesservicesWindowsFormsWindowsFormsWebFormsWebForms通用语言规范通用语言规范通用语言规范通用语言规范(CLS)(CLS)VBVBC+C+C#C#JScriptJScript操作系统操作系统.NetFramework类类库库(FCL)CLS和CTS通用语言规范CLSCommonLanguageSpecification规定所有.NET语言都应遵循的规则生成可与其他语言互操作的应用程序通用类型系统(CommonTypeSystem,CTS)包含标准数据类型包含准则集CLS、CTS和和MSIL紧密配合以实现语言互操作性紧密配合以实现语言互操作性命名空间就像在文件系统中一个文件夹容纳多个文件一样,可以看作某些类的一个容器。通过把类放入命名空间可以把相关的类组织起来,并且可以避免命名冲突。命名空间既用作程序的“内部”组织系统,也用作“外部”组织系统(一种向其他程序公开自己拥有的程序元素的方法)使用命名空间:using类似#include4 命名空间1.HclassA2.HclassA3.cpp#include“1.h”#include“2.h”.3.cppclassAclassAnamespacea1classAnamespacea2classA3.csusinga1;usinga2;a1.Aa2.A常用命名空间命名空间命名空间说明说明System.Drawing处理图形和绘图,包括打印处理图形和绘图,包括打印System.Data处理数据存取和管理,在定义处理数据存取和管理,在定义ADO.NET技术中扮技术中扮演重要角色演重要角色System.IO管理对文件和流的同步和异步访问管理对文件和流的同步和异步访问System.Windows处理基于窗体的窗口的创建处理基于窗体的窗口的创建System.Reflection包含从程序集读取元数据的类包含从程序集读取元数据的类System.Threading包含用于多线程编程的类包含用于多线程编程的类System.Collections 包含定义各种对象集的接口和类包含定义各种对象集的接口和类5 创建“HELLO WORLD”应用程序单击“开始”“程序”“MicrosoftVisualStudio.NET2005”“MicrosoftVisualStudio.NET2005”此时将打开 VS.NET2005的起始页要创建 C#控制台应用程序,请从列表中选择“创建建”“项目”。此时将打开“新建项目”窗口选择“VisualC#项目”作为项目类型,选择“控制台应用程序”作为模板 C#模板Console.WriteLine(HelloWorld);输出输出HelloWorld.csprojAssemblyInfo.csProgram.cs“HelloWorld”应用程序文件应用程序文件编译和执行 C#应用程序要生成 C#项目,请从菜单中选择“生成”“生成解决方案”该过程将编译项目中包括的所有文件,编译结果显示在“输出”窗口中 如果结果显示“生成:1成功或最新,0失败,0被跳过”,则说明已经成功生成,然后即可交付该应用程序要运行刚才生成的应用程序,请从菜单中选择“调试”“开始执行(不调试)”输出结果显示在VS.NET控制台窗口中C#应用程序文件夹结构VisualStudio.NET2005创建一个与项目同名的文件夹,此处为“HelloWorld”该文件夹包含项目文件“HelloWorld.csproj”和其他关联文件每个新项目都创建了bin、obj和Properties三个文件夹。Bin和obj这两个文件夹下都有一个Debug子目录,其中包含可执行文件HelloWorld.exe在“解决方案资源管理器”中启用“显示所有文件”选项,可查看“HelloWorld”项目的结构/这是用 C#编写的一个简单的 HelloWorld程序usingSystem;namespaceNotepadclassHelloWorldstaticvoidMain()Console.WriteLine(HelloWorld);声明HelloWorld类描述代码的注释HELLO WORLD 程序程序入口点,Main 的返回类型为 void控制台类的WriteLine()方法用于显示输出结果导入System命名空间声明命名空间Notepad将文件保存为将文件保存为*.cs说明:1.程序一般包括以下几部分:名称空间的引用:使用using关键字指明引用的名称空间。名称空间的声明:使用namespace关键字声明名称空间。类:使用class关键字声明类。Main方法:Main方法是C#程序的入口。2.类中包含了程序所要用到的数据和所要执行的方法的定义。每个类中可以有:(1)变量声明 (2)构造函数 (3)方法 (4)属性 (5)事件3.一个文件中可以有1个或者多个类。4.所有语句都以分号;结束。C#语言基础第2章目标在C#中定义变量和常量使用C#中的基本数据类型理解装箱和拆箱的概念使用C#中的运算符,选择结构和循环结构定义和使用数组,了解结构和枚举了解C#中的预处理指令理解C#中常用的字符串处理方法第一个第一个 C#程序程序:HelloWorld1.using System;2.class HelloWorld3.4.static void Main()5.6.Console.WriteLine(“Hello,World!”);7.8.HelloWorld.cs第一个第一个 C#程序程序:HelloWorld1:using System;第第 1 行:行:usingusing关键字关键字关键字关键字用来引用用来引用用来引用用来引用.NET.NET框架类库中的资源框架类库中的资源框架类库中的资源框架类库中的资源通常在程序文件的开头使用通常在程序文件的开头使用通常在程序文件的开头使用通常在程序文件的开头使用如果程序中需要多种资源,可以使用多次如果程序中需要多种资源,可以使用多次如果程序中需要多种资源,可以使用多次如果程序中需要多种资源,可以使用多次usingusingSystemSystem命名空间命名空间命名空间命名空间SystemSystem命名空间提供了构建应用程序所需的系统统能的访命名空间提供了构建应用程序所需的系统统能的访命名空间提供了构建应用程序所需的系统统能的访命名空间提供了构建应用程序所需的系统统能的访问问问问第一个第一个 C#程序程序:HelloWorld2:class HelloWorld3:.8:第第 2,3,8 行:行:类类类类在在在在C#C#或其他面向对象语言中,需要编写类或其他面向对象语言中,需要编写类或其他面向对象语言中,需要编写类或其他面向对象语言中,需要编写类使用关键字使用关键字使用关键字使用关键字classclass定义一个类,类的内容放在一对定义一个类,类的内容放在一对定义一个类,类的内容放在一对定义一个类,类的内容放在一对 中中中中示例中定义了一个名为示例中定义了一个名为示例中定义了一个名为示例中定义了一个名为HelloWorldHelloWorld的类的类的类的类第一个第一个 C#程序程序:HelloWorld4:static void Main()5:.7:第第 4,5,7 行:行:Main Main 方法方法方法方法 Main Main 方法是应用程序的入口点,编译器将由该处开始执行方法是应用程序的入口点,编译器将由该处开始执行方法是应用程序的入口点,编译器将由该处开始执行方法是应用程序的入口点,编译器将由该处开始执行程序程序程序程序 方法体也放在一对方法体也放在一对方法体也放在一对方法体也放在一对 中中中中 每个每个每个每个C#C#的应用程序都必须包含的应用程序都必须包含的应用程序都必须包含的应用程序都必须包含MainMain方法方法方法方法4:static void Main()5:.7:第第 4,5,7 行:行:MainMain方法方法方法方法 staticstatic表示表示表示表示MainMain方法是一个全局方法方法是一个全局方法方法是一个全局方法方法是一个全局方法 voidvoid表示表示表示表示MainMain方法没有任何返回值,即返回值是空方法没有任何返回值,即返回值是空方法没有任何返回值,即返回值是空方法没有任何返回值,即返回值是空 参数放在小括号中定义。此处括号内没有内容,表明参数放在小括号中定义。此处括号内没有内容,表明参数放在小括号中定义。此处括号内没有内容,表明参数放在小括号中定义。此处括号内没有内容,表明MainMain方法方法方法方法没有任何参数没有任何参数没有任何参数没有任何参数第一个第一个 C#程序程序:HelloWorld6:Console.WriteLine(“Hello,World!”);第第 6 行:行:语句语句语句语句 在在在在C#C#中要执行的指令中要执行的指令中要执行的指令中要执行的指令 语句之间用;分隔,编译器通过分号来区分多个语句语句之间用;分隔,编译器通过分号来区分多个语句语句之间用;分隔,编译器通过分号来区分多个语句语句之间用;分隔,编译器通过分号来区分多个语句 使用大括号使用大括号使用大括号使用大括号 标识某个代码块的开始和结束,从而可以对语标识某个代码块的开始和结束,从而可以对语标识某个代码块的开始和结束,从而可以对语标识某个代码块的开始和结束,从而可以对语句进行组合。大括号必须成对匹配。句进行组合。大括号必须成对匹配。句进行组合。大括号必须成对匹配。句进行组合。大括号必须成对匹配。第一个第一个 C#程序程序:HelloWorld6:Console.WriteLine(“Hello,World!”);第第 6 行:行:语句语句语句语句 HelloWorldHelloWorld程序的主要目的就是在屏幕上显示一条问候程序的主要目的就是在屏幕上显示一条问候程序的主要目的就是在屏幕上显示一条问候程序的主要目的就是在屏幕上显示一条问候 WriteLineWriteLine方法用来将问候语写到标准输出设备上。方法用来将问候语写到标准输出设备上。方法用来将问候语写到标准输出设备上。方法用来将问候语写到标准输出设备上。ConsoleConsole代表标准输出设备代表标准输出设备代表标准输出设备代表标准输出设备-屏幕,它属于屏幕,它属于屏幕,它属于屏幕,它属于SystemSystem命名空间命名空间命名空间命名空间 WriteLineWriteLine方法是方法是方法是方法是ConsoleConsole类的方法。访问类或对象的方法使用类的方法。访问类或对象的方法使用类的方法。访问类或对象的方法使用类的方法。访问类或对象的方法使用 点取符点取符点取符点取符.来完成。来完成。来完成。来完成。字符串用双引号字符串用双引号字符串用双引号字符串用双引号“”“”表示表示表示表示 字符串字符串字符串字符串“Hello,World”Hello,World”是是是是WriteLineWriteLine方法的参数,表示屏幕输方法的参数,表示屏幕输方法的参数,表示屏幕输方法的参数,表示屏幕输出出出出 的内容的内容的内容的内容第一个第一个 C#程序程序:HelloWorld系统预定义类型类类型型描描述述范范围围/精度精度例子例子object所有其它所有其它类类型的最根本的基型的最根本的基础础类类型型objecto=null;string字符串字符串类类型,一个字符串是一型,一个字符串是一个个Unicode字符序列字符序列strings=Hello;sbyte8-bit有符号整数有符号整数类类型型128.127sbyteval=12;short16-bit有符号整数有符号整数类类型型32,768.32,767shortval=12;int32-bit有符号整数有符号整数类类型型2,147,483,648.2,147,483,647intval=12;long64-bit有符号整数有符号整数类类型型9,223,372,036,854,775,808.9,223,372,036,854,775,807longval1=12;longval2=34L;byte8-bit无符号整数无符号整数类类型型0.255byteval1=12;byteval2=34U;ushort16-bit无符号整数无符号整数类类型型0.65,535ushortval1=12;ushortval2=34U;uint32-bit无符号整数无符号整数类类型型0.4,294,967,295uintval1=12;uintval2=34U;系统预定义类型类类型型描描述述范范围围/精度精度例子例子ulong64-bit无符号整数无符号整数类类型型0.18,446,744,073,709,551,615ulongval1=12;ulongval2=34U;ulongval3=56L;ulongval4=78UL;float单单精度浮点数精度浮点数类类型型1.51045至至3.41038,7位精度位精度floatval=1.23F;double双精度浮点数双精度浮点数类类型型5.010324至至1.710308,15位精度位精度doubleval1=1.23;doubleval2=4.56D;bool布布尔尔类类型型类类型型;一个布一个布尔尔类类型数据型数据不是真就是假不是真就是假true,falseboolval1=true;boolval2=false;char字符字符类类型型;一个字符数据是一个一个字符数据是一个Unicode字符字符charval=h;decimal精确十精确十进进制制类类型,有型,有28个有效位个有效位1.01028至至7.91028,28位精度位精度decimalval=1.23M;字面量类型类别后缀示例/允许的值bool布布尔尔无无true或或falseint整数整数无无intx=100uint,ulog整数整数U或或Uuintx=1000ulong,ulong长长整型整型L或或llongx=100000Lulong无符号无符号长长整型整型ul,uL,Ul,UL,lu,Lu,lU或或LUulongx=4324ulfloat单单精度浮点数精度浮点数类类型型F或或ffloatx=34.76Fdouble双精度浮点数双精度浮点数类类型型D或或ddoublex=763.7245Ddecimal精确十精确十进进制制类类型型M或或mdecimalx=1.544Mchar字符字符无无charx=astring字符串字符串无无string=”abc”int:intiMax=int.MaxValue;intpVal=int.Parse(“100”);shorti16=50;inti32=i16;i16=i32;错误i16=(short)i32;decimaldecimaliRate=3.9834M;iRate=decimal.Round(iRate,2);/四舍五入iRate=decimal.Remainder(512.0M,51.0M);boolboolbt=(bool)1;/错误charstringpattern=“123abcd?”;boolbt;bt=char.IsLetter(pattern,3);bt=char.IsNumber(pattern,3);bt=char.IsLower(pattern,3);bt=char.IsPunctuation(pattern,7);bt=char.IsLetterOrDigit(pattern,3);single,doublefloatf=24567.66f;doubled=124.45;If(Single.IsNaN(1/0)使用Parse转换数字字符串shortshParse=Int16.Parse(100);intiParse=Int32.Parse(100);longshParse=Int64.Parse(100);decimaldParse=decimal.Parse(“99.99);floatsParse=float.Parse(“99.99);doubledParse=double.Parse(“99.99);字符串字符串直接量stringpath;path=”C:note.txt”;path=“C:note.txt”;字符串操作索引字符串中的单个字符stringstr=“abcd”;charc=str0;字符串连接strings1=“Myage=“;intmyAge=28;stringcat=s1+myAge;字符串操作抽取和定位子串string poem=“In Xanadu did Kubla Khan”;string poemSeg=poem.Substring(10);poemSeg=poem.Substring(0,9);int index=poem.IndexOf(“I”);index=poem.LastIndexOf(“n”);比较字符串bool isMatch;stringtitle=AncientMariner;isMatch=(title=ANCIENTAMRINER);isMatch=(title.ToUpper()=ANCIENTMARINER);isMatch=title.Equals(AncientMariner);STRING常用方法C#中常用的字符串处理方法:中常用的字符串处理方法:Equals():比较两个字符串的值是否相等:比较两个字符串的值是否相等ToLower():将字符串转换成小写形式:将字符串转换成小写形式IndexOf():查找某个字符在字符串中的位置:查找某个字符在字符串中的位置SubString():从字符串中截取子字符串:从字符串中截取子字符串Join():连接字符串:连接字符串Split():分割字符串:分割字符串Trim():去掉字符串两边的空格:去掉字符串两边的空格实例 将一文件名的扩展名改为.dat。例:1.txt改为1.datusingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;namespace_011classProgramstaticvoidMain(stringargs)stringfilename=1.2.txt;intindexDot=filename.LastIndexOf(.);stringextendName=dat;filename=filename.Substring(0,indexDot+1);filename+=extendName;Console.WriteLine(filename);STRING 常用方法应用1已有如下代码,按要求增加功能:staticvoidMain(stringargs)stringemail;/电子邮件地址电子邮件地址Console.WriteLine(请输入你的邮箱:请输入你的邮箱:);email=Console.ReadLine();Console.WriteLine(你的邮箱是你的邮箱是0,email);需实现的功能:需实现的功能:1、输入输入yes时,程序循环执行时,程序循环执行2、兼容以下各种形式兼容以下各种形式yes(YES、yes、YeS.)3、提取邮箱的用户名提取邮箱的用户名usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;namespace_011classProgramstaticvoidMain(stringargs)while(1)stringemail;/电子邮件地址Console.WriteLine(请输入你的邮箱:);email=Console.ReadLine();Console.WriteLine(你的邮箱是0,email);Console.WriteLine(继续输入邮箱吗?);stringinput=Console.ReadLine();if(input.ToUpper()=YES)continue;elsebreak;while(true)STRING 常用方法应用2输入一个字符串,输出每个单词,重新用下划线输入一个字符串,输出每个单词,重新用下划线连接输出连接输出使用 Split()方法分割字符串使用 Join()方法连接字符串Split()方法方法分割字符串分割字符串代码分析splitStrings=inputString.Split();/将分割后的字符串使用下划线连接在一起将分割后的字符串使用下划线连接在一起joinString=string.Join(_,splitStrings);返回值为返回值为字符串数组字符串数组字符串变量名字符串变量名参数:分隔符(参数:分隔符(char型)型)返回字符串返回字符串静态方法静态方法参数参数1:连接符:连接符参数参数2:字符串数组:字符串数组关键代码:Join()方法方法连接字符串连接字符串usingSystem;classProgramstaticvoidMain(stringargs)stringinputString;inputString=Console.ReadLine();inputString=inputString.Trim();stringsplitStrings=inputString.Split();stringjoinString=string.Join(_,splitStrings);Console.WriteLine(joinString);如果字符串两边有空格?如果字符串两边有空格?FORMAT()方法两种输出字符串的方式:stringname=李四李四;Console.WriteLine(Mynameis+name+,Iam+18);stringname=李四李四;Console.WriteLine(Mynameis0,Iam1,name,18);格式字符串格式字符串变量列表变量列表STRING类的FORMAT()方法用来格式化字符串关键代码:record=string.Format(姓名:姓名:0n出生年月:出生年月:1n身高:身高:2n血型:血型:3n星座:星座:4n最喜欢的食物:最喜欢的食物:5,name,birthday,height,bloodType,planet,favourFood);Console.WriteLine(n这是你的个人档案:这是你的个人档案:);Console.WriteLine(record);参数与参数与WritLine()方法相似方法相似FORMAT()的语法小结stringmyString=string.Format(格式字符串格式字符串,参数列表参数列表);stringmyString=string.Format(0乘以乘以1等于等于2,2,3,2*3);格式字符串格式字符串代表代表参数列表参数列表2乘以乘以3等于等于6包括占位符包括占位符x小结补充下划线处的占位符,输出五个成语stringyi=一一;stringer=二二;stringsan=三三;stringword=string.Format(独独_无无_,_心心_意,垂涎意,垂涎_尺,略知尺,略知_,举,举_反反_,yi,er,san);Console.WriteLine(word);stringyi=一一;stringer=二二;stringsan=三三;stringword=string.Format(独独0无无1,2心心1意,垂涎意,垂涎2尺,略知尺,略知01,举,举0反反2,yi,er,san);Console.WriteLine(word);枚举qaccess modifiers enum :enum_base enumbodyclassMyAppenumFabric:intCotton=1,Silk=2,Wool=4staticvoidMain()Fabricfab=Fabric.Cotton;intfabNum=(int)fab;stringfabType=fab.ToString();Console.WriteLine(fab);整型,默认为整型,默认为int默认为默认为internal枚举和位标志namespaceMyHelloAppclassmyAppFlagsenumFabricCotton=1,Silk=2staticvoidMain()Fabricfab1=(Fabric)3;Console.WriteLine(fab1.ToString();SYSTEM.ENUM的方法usingSystem;namespaceApp1classmyAppenumFabricCotton=1,Silk=2staticvoidMain()stringfabStr=Cotton;if(Enum.IsDefined(typeof(Fabric),fabStr)Fabricfab=(Fabric)Enum.Parse(typeof(Fabric),fabStr);Console.WriteLine(Enum.GetName(typeof(Fabric),2);变量staticvoidMain(stringargs)/声明布尔型、字符串型、整型、短整型和浮点型变量boolt=false;shortn1=30;intn2=1200;stringstr=jeny;floatn3=23.1f;/显示变量值Console.WriteLine(布尔值=+t);Console.WriteLine(短整型值=+n1);Console.WriteLine(整型值=+n2);Console.WriteLine(字符串值=+str);Console.WriteLine(浮点值=+n3);变量中存储的值取决于该变量的类型常量staticvoidMain(stringargs)/PI常量PIconstfloat_pi=3.1415169F;/由地球引力引起的加速度常量,单位为cm/s*sconstfloat_gravity=980;/钟摆的长度intlength=60;/钟摆的周期doubleperiod=0;/钟摆周期的计算公式period=2*_pi*Math.Sqrt(length/_gravity);Console.WriteLine(钟摆的周期为0秒,period);声明常量在表达式中使用常量qconst关键字用于声明常量数组数组是同一数据类型的一组值 数组属于引用类型,因此存储在堆内存中数组元素初始化或给数组元素赋值都可以在声明数组时或在程序的后面阶段中进行语法:数据类型,数组名称=new 类型 n,;int arrayHere=new int 6;数组staticvoidMain(stringargs)intcount;Console.WriteLine(“请输入准备登机的乘客人数);count=int.Parse(Console.ReadLine();/声明一个存放姓名的字符串数组,其长度等于乘客人数stringnames=newstringcount;/用一个for循环来接受姓名for(inti=0;i检检查查一一个个数数是是否否大大于于另一个数另一个数 操作数操作数1操作数操作数2检检查查一一个个数数是是否否小小于于另一个数另一个数 操作数操作数1=检检查查一一个个数数是是否否大大于于或等于另一个数或等于另一个数 操作数操作数1=操作数操作数2=检检查查一一个个数数是是否否小小于于或等于另一个数或等于另一个数 操作数操作数1=操作数操作数2=检查两个值是否相等检查两个值是否相等 操作数操作数1=操作数操作数2!=检检查查两两个个值值是是否否不不相相等等操作数操作数1!=操作数操作数2运算符和表达式类别类别运算符运算符说说明明表达式表达式成员访问运算符成员访问运算符.用于访问数据结构的成员用于访问数据结构的成员 数据结构数据结构.成员成员赋值运算符赋值运算符=给变量赋值给变量赋值 操作数操作数1=操作数操作数2逻辑运算符逻辑运算符&对两个表达式执行逻辑对两个表达式执行逻辑“与与”运算运算 操作数操作数1&操作数操作数2|对两个表达式执行逻辑对两个表达式执行逻辑“或或”运算运算 操作数操作数1|操作数操作数2!对两个表达式执行逻辑对两个表达式执行逻辑“非非”运算运算!操作数操作数()将操作数强制转换为给定将操作数强制转换为给定的数据类型的数据类型 (数据类型数据类型)操作数操作数运算符和表达式 9-6赋值运算符赋值运算符(=)变量=表达式;例如:身高=177.5;体重=78;性别=“m”;运算符和表达式 9-7一元运算符一元运算符(+/-)Variable+;相当于相当于Variable=Variable+1;Variable-;相当于相当于Variable=Variable-1;运算符和表达式运算符运算符计计算方法算方法表达式表达式求求值值结结果(果(设设 X=10)+=运算运算结结果果=操作数操作数1+操作数操作数2X+=2X=X+212-=运算运算结结果果=操作数操作数1-操作数操作数2X-=2X=X-28*=运算运算结结果果=操作数操作数1*操作数操作数2X*=2X=X*220/=运算运算结结果果=操作数操作数1/操作数操作数2X/=2X=X/25%=运算运算结结果果=操作数操作数1%操作数操作数2X%=2X=X%20运算符和表达式C#运算符的优先级运算符的优先级优优先先级级说说明明运算符运算符结结合性合性1括号括号()从左到右从左到右2自加自加/自减运算符自减运算符+/-从右到左从右到左3乘法运算符乘法运算符除法运算符除法运算符取模运算符取模运算符*/%从左到右从左到右4加法运算符加法运算符减法运算符减法运算符+-从左到右从左到右5小于小于小于等于小于等于大于大于大于等于大于等于=从左到右从左到右6等于等于不等于不等于=!=从左到右从左到右从左到右从左到右7逻辑逻辑与与&从左到右从左到右8逻辑逻辑或或|从左到右从左到右9赋值赋值运算符和快捷运运算符和快捷运算符算符=+=*=/=%=-=从右到左从右到左选择结构语法:语法:if()elseq选择结构用于根据表达式的值执行语句ifelse条件:只能是条件:只能是bool类型的值类型的值选择结构switch(“cotton”)case“COTTON”:case“cotton”:break;case值3:case值4:break;switchcase表达式可以是表达式可以是int、字符或字、字符或字符串符串C#不允许从一个不允许从一个case块继续块继续执行到下一个执行到下一个case块。每个块。每个case块必须以一个跳转控制块必须以一个跳转控制语句语句break、goto或或return结结束束多个多个case标签可以对应一个标签可以对应一个代码块代码块循环结构循环结构用于对一组命令执行一定的次数或反复执行一组命令,直到指定的条件为真。循环结构的类型 while循环do循环for循环foreach循环- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C# 入门教程
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【胜****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【胜****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【胜****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【胜****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文