2012年6月25日

C#在多种条件下选择自己的路-swith结构

摘要: C#中的switch结构和if结构一样都可以实现条件判断,只是适用的条件不同。switch结构主要用于多重条件switch的语法如下:switch (condition){ case 常量表达式1: condition == 常量表达式1 时执行的语句; break; case 常量表达式2: condition == 常量表达式2 时执行的语句; break; default: 不满足上述条件时执行的语句; break;}case 个数 >= 0。任何两个 case 语句的常量表达式都不能具有相同的值,注意是值不能相同。case 和 default 的 break 必不可少。defau 阅读全文

posted @ 2012-06-25 16:56 流星落 阅读(973) 评论(0) 推荐(0) 编辑

C#条件判断-嵌套if结构

摘要: 我们在上面的商店中,如果是商店会员可以享受打折优惠,非会员没有优惠。这个问题怎样解决呢?我们用前面的知识就不能解决,需要用到复杂的嵌套。其语法如下:if(表达式1){if(表达式2){代码块1}else{代码块2}else{代码块3}我们看这个例子:using System;class Program{static void Main(){Console.WriteLine("请选择是否会员,会员输入1,非会员为0");int flag=int.Parse(Console.ReadLine());Console.WriteLine("请输入您的购物价值,单位为元& 阅读全文

posted @ 2012-06-25 16:55 流星落 阅读(1881) 评论(0) 推荐(0) 编辑

C#条件判断-if...else结构

摘要: if...else结构就是经常说的“如果……就……否则就……”具体语法下:if (条件){ 满足条件时执行的语句;}else{ 不满足条件时执行的语句;}提示:if...else判断语句适用于只有两个条件的情况,即或者符合条件,或者不符合。我们看下面这个例子:using System;class Hello { public static void Main() { Console.Write("请输入你的名字:"); string str_userName=Console.ReadLine(); if(str_userName=="six"){ Con 阅读全文

posted @ 2012-06-25 16:54 流星落 阅读(460) 评论(0) 推荐(0) 编辑

C#条件判断-多重if结构

摘要: 多重if结构的语法如下:if (条件){ 满足条件时执行的语句;}else if (条件2){ 满足条件2时执行的语句;}else if (条件3){ 满足条件3时执行的语句;}else{ 不满足以上任何条件时执行的语句;}请看下面这个例子。让我们想像这么一幕情景剧——时间:XXXX年2月14日;地点:某校园内小公园;人物:女生一,男生一。事件:(男生送给女生一束环瑰) 女生(高兴地):多美啊——多少钱买的! 男生:猜。 女生(心里想:如果多于100元我就亲他一口):超过100元吗? 男生:NO。 女生:(心里想:如果多于50元我就许他亲我一口):那,不低于50元吧? 男生:NO。 女生:(心 阅读全文

posted @ 2012-06-25 16:54 流星落 阅读(7459) 评论(0) 推荐(0) 编辑

C#条件判断-if语句简单结构

摘要: 1、简单if结构来看这个例子,然后做出你的判断:if (我每天赚100万){ 我每天都将100成中的90万分给你。}看完上面的“程序”,你觉得我是个大方的人吗?看起来是噢,但问题是我永远也无法每天赚100万,所以关于“我每天都将100成中的90万分给你” 整个是在穷开心呵。注意:if条件表达式的结果必须是布尔型的,即或者为真,或者为假。int score=20;if (score){Console.WriteLine("加20分");}这段代码编译时会出现错误。int score=20;if (score==20){Console.WriteLine("加20分& 阅读全文

posted @ 2012-06-25 16:53 流星落 阅读(2026) 评论(0) 推荐(0) 编辑

C#条件判断-根据条件判断要走的路-if结构

摘要: 什么时候要用到if结构语句呢?如果有一个班的学生期末成绩不是很理想,原因是考题太难,教师希望根据学生平时的表现给不同学生加平时成绩分,条件如下:如果平时每次都交作业,加20分;如果平时交了超过所有作业的1/2,加15分;其余同学每人加8分;面对这样的问题,我们该怎样解决?C# 的 if 语句有 3 种第一种if (条件表达式){ 满足条件时执行的语句;}第二种if (条件表达式){ 满足条件时执行的语句;}else{ 不满足条件时执行的语句;}第三种if (条件表达式){ 满足条件时执行的语句;}else if (条件2){ 满足条件2时执行的语句;}else if (条件3){ 满足条件3时 阅读全文

posted @ 2012-06-25 16:53 流星落 阅读(315) 评论(0) 推荐(0) 编辑

C#控制台的输入和输出-Console类-从控制台输入

摘要: Console类提供的输入方法非常简单,语法如下:Console.ReadLine();Console.ReadLine()方法返回的是键盘输入string类型;Console.Read()是把键盘输入的字符转化成ASC码;以下代码返回一个字符串类型,可以把它直接赋给字符串变量。string strname=Console.ReadLine();有时从控制台输入数字,就用到前面的数据转换。例如:int num=int.Parse(Console.ReadLine());int num=Convert.ToInt32(Console.ReadLine());注意:Console.ReadLine 阅读全文

posted @ 2012-06-25 16:52 流星落 阅读(1344) 评论(0) 推荐(0) 编辑

C#控制台的输入和输出-Console类-输出到控制台

摘要: C# 控制台程序一般使用 .NET Framework Console 类提供的输入/输出服务。我们多次用到Console.WriteLine方法,我们再学习一些其他的方法。输出到控制台输出到控制台就是把数据输出到控制台并显示出来, .Net框架提供了Console类实现这个任务,具体方式有以下几种:Console.WriteLine();Console.Write();Console.WriteLine("输出的值");Console.Write("输出的值");Console.WriteLine("输出的格式字符串",变量列表); 阅读全文

posted @ 2012-06-25 16:50 流星落 阅读(8081) 评论(0) 推荐(0) 编辑

用Convert类实现数据类型转换

摘要: Convert类用于将一个基本数据类型转换为另一个基本数据类型,返回与指定类型的值等效的类型;受支持的基类型是Boolean、Char、SByte、Byte、Int16、Int32、Int64、UInt16、UInt32、UInt64、Single、Double、Decimal、DateTime和String。可根据不同的需要使用Convert类的公共方法实现不同数据类型的转换。所执行的实际转换操作分为以下3类:(1)从某类型到它本身的转换只返回该类型,不实际执行任何转换。(2)无法产生有意义的结果的转换引发InvalidCastException,不实际执行任何转换。下列转换会引发异常:从C 阅读全文

posted @ 2012-06-25 16:50 流星落 阅读(1404) 评论(0) 推荐(0) 编辑

C#数据类型转换-数值字符串和数值之间的转换

摘要: 首先,我们得搞明白,什么是数值字符串。我们知道,在 C# 中,字符串是用一对双引号包含的若干字符来表示的,如 "123"。而 "123" 又相对特殊,因为组成该字符串的字符都是数字,这样的字符串,就是数值字符串。在我们的眼中,"123"即是一串字符,也是一个数,但计算机却只认为它是一个字符串,不是数。因此,我们在某些时候,比如输入数值的时候,把字符串转换成数值;而在另一些时候,我们需要相反的转换。将数值转换成字符串非常简单,因为每一个类都有一个 void ToString() 方法。所有数值型的 void ToString() 方法都 阅读全文

posted @ 2012-06-25 16:49 流星落 阅读(20826) 评论(0) 推荐(0) 编辑

C#中数据类型转换-显式转换

摘要: 显示类型转换,也称强制类型转换。通过显示数据转换,可以把取值范围大的数据转换为取值范围小的数据。using System;class ConvertTest{static void Main(){int num1=3;float num2=num1;double num3=45.24;int num4;num4=num1*(int)num3;Console.WriteLine("整数类型转化为浮点类型{0}",num2);Console.WriteLine("总价格为{0}",num4);Console.ReadKey();}} 阅读全文

posted @ 2012-06-25 16:48 流星落 阅读(438) 评论(0) 推荐(0) 编辑

C#中数据类型转换-隐式转换

摘要: 隐式转换:一般是低类型向高类型转化,能够保证值不发生变化。隐式数值转换:从 sbyte 到 short、int、long、float、double 或 decimal。 从 byte 到 short、ushort、int、uint、long、ulong、float double 或 decimal。从 short 到 int、long、float、double 或 decimal。从 ushort 到 int、uint、long、ulong、float、double 或 decimal。 从 int 到 long、float、double 或 decimal。 从 uint 到 long、ul 阅读全文

posted @ 2012-06-25 16:48 流星落 阅读(1489) 评论(0) 推荐(0) 编辑

C#枚举-避免不合理赋值

摘要: 什么是枚举?一年只能有12个月,每个星期只能从星期一到星期日,不能有别的日子,这些都是固定的值,不能随意变动。C#中处理这些数据就可以采用枚举。枚举是一组已经命名的数值常量,用来定义一组具有特定值的数据类型,枚举的定义方法如下:<访问修饰符> enum 枚举名称{枚举对象}public enum DayWeek{Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday}这段代码定义了表示一周中包括星期几的枚举。enum是声明枚举的关键字,DayWeek是枚举的名称,大括号中的数据是枚举对象,枚举对象之间用“,”隔开。默认情况下 阅读全文

posted @ 2012-06-25 16:46 流星落 阅读(1090) 评论(0) 推荐(0) 编辑

C#数组-使用数组的索引

摘要: 定义的每个数组中有很多元素,如何有效地组织这些元素呢?其实每个数组元素都有一个编号,叫做数组索引,有时也称为数组下标。C#中数组的索引是从0开始的,最大索引等于数组长度减1。假设一个数组的长度为0,其索引从0开始,到n-1为止。C#通过索引来访问数组中的元素。using System;class Program { static void Main(string[] args) { string[] strName = new string[4]; //通过索引给每个数组元素赋值 strName[0] = "韦小宝"; strName[1] = "苏荃" 阅读全文

posted @ 2012-06-25 16:45 流星落 阅读(4439) 评论(0) 推荐(0) 编辑

C#数组-什么是数组

摘要: 现在有一个班的学生姓名需要存储,根据前面学过的方法,需要定义与这个班人数相同的变量来分别存储每一个学生的姓名。如下代码:string student1="张三";string student1="李四";string student1="王五";string student1="赵六";……string student1="刘九";这种方法虽然能够实现我们的目标,但是很麻烦。如果有成千上万的学生也用同样的方式去实现,那就更不行了。下面引入数组来解决这个问题。数组是具有相联系类型和名称的变量的集合 阅读全文

posted @ 2012-06-25 16:44 流星落 阅读(583) 评论(0) 推荐(0) 编辑

C#数组-数组的初始化

摘要: 数组和变量一样,在使用时必须对其进行初始化,即给变量或数组赋值。数组可以在定义时初始化,也可以在使用时初始化。下面的代码演示了如何初始化数组。int[] arrayInt={1,2,3,4}也可以用下面方式初始化数组:int[] arrayInt;arrayInt=new int{1,2,3,4}初始化数组还可将前面的方式组合起来,用这种方式初始化数组时,数组的大小必须与元素个数相同。如下所示:int[] arrayInt=new int[4] {1,2,3,4}注意:初始化数组时数组元素必须和数组声明的数据类型相同。 阅读全文

posted @ 2012-06-25 16:44 流星落 阅读(1134) 评论(0) 推荐(0) 编辑

C#装箱拆箱

摘要: C#中的数据类型包括值类型、引用类型和指针类型,而指针类型只有在不安全代码中使用。值类型包括简单类型、结构和枚举,引用类型包括类、接口、委托、数组和字符串等。为了保证效率,值类型是在栈中分配内存,在声明时初始化才能使用,不能为NULL,而引用类型在堆中分配内存,初始化时默认为NULL。值类型超出作用范围系统自动释放内存,而引用类型是通过垃圾回收机制进行回收。由于C#中所有的数据类型都是由基类System.Object继承而来的,所以值类型和引用类型的值可以相互转换,而这转换过程也就是所谓的装箱和拆箱。 装箱转换 装箱就是将一个值型变量隐式地转换为引用类型对象,虽然也可以显示转换,但一般都不需要 阅读全文

posted @ 2012-06-25 16:33 流星落 阅读(174) 评论(0) 推荐(0) 编辑

详解C#装箱与拆箱

摘要: 装箱(box)就是将值类型转换为引用类型的过程。而相反的过程就叫拆箱(unbox)。一、装箱操作 例如: int val = 100; object obj = val; Console.WriteLine (“对象的值 = {0}", obj); 这是一个装箱的过程,是将值类型转换为引用类型的过程。值类型被装箱时发生了什么?(1)在堆上分配内存。因为值类型最终有一个对象代表,所有堆上分配的内存量必须是值类型的大小加上容纳此对象及其内部结构(比如虚拟方法表)所需的内存量。(2)值类型的值被复制到新近分配的内存中(3)新近分配的对象地址被放到堆栈上,现在它指向一个引用类型。二、拆箱操作 阅读全文

posted @ 2012-06-25 16:32 流星落 阅读(269) 评论(0) 推荐(0) 编辑

既然 int是值类型,而 class是引用类型,那么int是怎样从Object派生的呢?

摘要: 是这样的,当int用作int时候,这是一个值类型(在栈上),然而,当它用作是Object时,这是一个引用堆上的整数值的引用类型。换而言之,当你将int看作对象时,运行层将它自动转化为对象引用,这个转化过程称作装箱(boxing)。这个转换包括将栈里的值拷贝到了堆里,并且新建了一个对象的实例来引用该值。拆箱操作(unboxing)是个反过程——将对象转化为基于栈的值类型。int x = 3;// 堆栈上新的int类型,值为3object objx = x;// 堆上新的int, 设定值为3,x=3仍然在堆栈上 int y = (int)objx;//新的int类型的值3在堆栈上,x=3在堆栈上, 阅读全文

posted @ 2012-06-25 16:31 流星落 阅读(265) 评论(0) 推荐(0) 编辑

值类型和引用类型的最基本的区别是什么?

摘要: C#将类型分为两类,一类是值类型,另一类是引用类型。大部分固有的基本类型(如整型,浮点型)是值类型,结构类型也是值类型。引用类型包括类、接口、数组和字符串。基本的概念非常简单,那就是一个值类型的实例代表了实际的数据(存在栈中),而一个引用类型的实例代表指向数据的指针或者引用(存在堆中)。在C#中是这样的:int x1 = 3; // x1是堆栈上的值 int x2 = new int(); x2 = 3; // x2还是堆栈上的值! 阅读全文

posted @ 2012-06-25 14:03 流星落 阅读(196) 评论(0) 推荐(0) 编辑

导航