C#语法详解

C#基础语法

一,注释语句

  /*注释语句包含在"反斜杠* "和" *反斜杠"中,

  或者两个反斜杠和换行符之中,

  或者三个反斜杠和换行符之中(可以被VS自动识别为文件注释以提取)

  要注意注释中的\,该续行符会把下一行连上来一起注释掉出错。*/

  static void Main(string[] args)

    {//语句块包含在{}中

      int MyInterger;//语句以;结束

      string MyString;///忽略空白字符(空格/回车/TAB)

      MyInterger = 17;

    }

  //要注意防止注释嵌套出错,可用#if,#endif预处理语句。

二,数据类型

  1,基本型/内置型 用户自定义型

  A,内置类型:CS使用.net FrameWork库中的数据类型

  sbyte = System.SByte,...

  类型 字节数 解释

  byte 1 无符号字节型

  sbyte 1 有符号字节型

  short 2 有符号短字节型

  ushort 2 无符号短字节型

  int 4 有符号整型

  uint 4 无符号整型

  long 8 有符号长整型

  ulong 8 无符号长整型

  float 4 浮点数

  double 8 双精度数

  decimal 8 固定精度数

  string unicode字串型

  char unicode字符型

  bool 真假布尔型//只接受true和false两种值。不接受任何整数类型。

  B,用户定义类型包括:

  类类型(class)

  结构类型(struct)

  接口类型(interface)

  2,值类型(Value Types)和引用类型(Reference Types)

  A,值类型:内存顺序分配在栈中。他们包括:所有基本或内置类型(不包括string类型)、结构类型、枚举类型(enum type)

  B,引用类型:内存非线性分配在堆中,当它们不再被使用时CS通过垃圾收集器自动释放内存(C++用delete)。它们使用new运算符来创建。

  引用类型包括:类类型、接口类型、象数组这样的集合类型类型、字串类型、枚举类型

  结构型适于快速访问和拥有少量成员的数据类型。如果涉及量较多,你应该创建一个类来实现他。

  3,数据类型转换

  隐式转换:从低精度的转换到高精度的,所以不可能转换到char;另外可以把0隐式转换成枚举型,其他整数不行。

  显式转换

static void Main(string[] args)

short shortResult, shortVal = 4;

int integerVal = 67;

long longResult;

float floatVal = 10.5F;

double doubleResult, doubleVal = 99.999;

string stringResult, stringVal = "17";

bool boolVal = true;

Console.WriteLine("Variable Conversion Examples\n数据类型转换范例\n");

doubleResult = floatVal * shortVal;

Console.WriteLine("Implicit,->double:{0}*{1}->{2}", floatVal, shortVal, doubleResult);

shortResult = (short)floatVal;

Console.WriteLine("Implicit,->short:{0}->{1}", floatVal, shortResult);

stringResult = Convert.ToString(boolVal) + Convert.ToString(doubleVal);

Console.WriteLine("Explicit,->string:\"{0}\"+\"{1}\"->{2}", boolVal, doubleVal, stringResult);

longResult = integerVal + Convert.ToInt64(stringVal);

Console.WriteLine("Mixed,->long {0}+{1}->{2}", integerVal, stringVal, longResult);

三,变量:

  1,普通变量:

  (1),命名规则:字母或_或@ + 字母或_或数字 (/用于转义,@用于逐个转义指定,@常用于保留关键字前以保持与其他语言兼容)

  (2),声明变量: 变量类型 变量名

  变量赋值:变量 = 要赋的值

  C#变量被访问之前必须被初始化;否则编译时会报错。因此,不可能访问一个未初始化变量(如不确定的指针、超出数组边界的表达式)。变量在使用前最好习惯是要先声明和初始化。

  (3)C#中没有全局的的变量或全局函数,全局方式的操作是通过静态函数和静态变量来实现的。

int i;

string text;//在循环外未初始化

for (i = 0;i<10;I++)

{

text = "Line" + Convert.ToString(i);//在循环中未初始化,在退出循环的时候会丢失值,再引用就出错。

Console.WriteLine("{0},text);

}

Console.WriteLine("Last txet output in loop:{0},text);//出错。改正方法是在循环外初始化:string text="";

  (4)命名约定:简单的用camelCase,复杂的用PascalCase

  (5)变量的七种类型:

class A

{

public static int x;//静态变量,存在期从类装载直到该程序结束。

int y;//非静态变量,或实例变量,从类实例创建到实例空间释放。

/*v[0]是数组元素,a是值参数,b是引用参数,c是输出参数 */

void F(int[] v,int a,ref int b,out int c){

int i = 1;//局部变量,不会被初始化

c = a + b++;//

}

}

  2,枚举

    enum 枚举名:枚举值类型(默认是int,默认赋值0,1,2...)

    {

     枚举值1=...,

     枚举值2=...,

     枚举值3,//不赋值的话,默认为最后一个明确具体值的值+1

     ...

    }

    枚举名 变量名=枚举名.枚举值

namespace Ch05Ex02

{

enum orientation:byte

{

north=1,

south=2,

east=3,

west=4

}

///Class1's Desciption

class Class1

{

static void Main(string[] args)

{

byte directionByte;

string directionString;

orientation myDirection = orientation.north;

Console.WriteLine("mydirection = {0}", myDirection);

directionByte = (byte)myDirection;//因为enum存得下byte,所以理论上可以正确地反过来转换,但逻辑上不一定正确。myDirection = (orientation)myByte;

directionString = Convert.ToString(myDirection);//等价命令是directionString = myDirection.ToString();

//因为不单是把枚举变量值转存到string变量中,所以不能用string(mydirection);

//反向转换命令是orientation myDirection = (orientation)Enum.Parse(typeof(orientation),myString);但由于enum不一定存得下 string,所以可能出错。如myString赋值为North,就不能映射到orientation中的north,出错。

Console.WriteLine("byte equivalent = {0}", directionByte);

Console.WriteLine("string equivalent = {0}", directionString);

}

}

}

     

  3,结构

    struct 结构名:

    {

     访问方式1 变量类型1 变量名1;//访问方式public/private

     访问方式2 变量类型2 变量名2;  

     ...

    }

    结构名 结构变量名;

    结构变量名.枚举值=...;

  4,一维数组

    变量类型[] 数组名 = new 变量类型[元素个数]{元素0,元素1,元素2...}//元素个数必须是整数或者整数常量,而且必须与后面的元素列值个数相同,否则出错。元素个数的new声明和后面的元素列值可以只选一个,就能声明并初始化数组。

    遍历方法

A,For循环到.Length

for(i=0,i{

Console.WriteLine(friendNames[i]);

}

B,Foreach进行只读访问

foreach(string listName in friendNames)

{

Console.WriteLine(listName);

}

  5,二维数组(多维)

    变量类型[,] 数组名 = new 变量类型[一维元素个数,二维元素个数]{{元素00,元素01,元素02...},{元素10,元素11,元素12...}...}

  6,直角数组(交错数组,数组中的数组)

  7,字符串操作:

string myString = "I have a dream.";

char myChar = myString[2];//把string变量当作只读的char数组使用,不能改写myString[2]

char[] myChars = myString.ToCharArray();

char[]separator = {' '};//设定分隔符

string[] myWords =myString.Split(separator);//分隔成数组

Console.WriteLine("myString have {0} chars",myString.Length);

myString=myString.ToLower();//转小写

myString=myString.ToUpper();//转大写

myString=myString.Trim();//删前后空格

myString=myString.TrimStart();//删前空格

myString=myString.TrimEnd();//删后空格

myString=myString.PadLeft(位数);//前补空格到指定位数

myString=myString.PadRight(位数);//后补空格到指定位数

myString=myString.PadLeft(位数,字符);//前补指定字符到指定位数

char[] trimChars = {"e","#","*"};

myString = myString.trim(trimChars);//删指定字符

四,常量:

   Const int intTwo = 2 (必须声明的同时赋值)

五,运算符:按优先级顺序排列

  

  算术运算符:前缀的++和-- ,前缀一元的+和- 乘 * 除 / 求余 % 加 + 减 -

  位移运算符:<<,>>

  比较运算符:小于 < 大于 > 小于等于 <= 大于等于 >=

  比较运算符:==,!=

  逻辑运算符:&

  逻辑运算符:^

  逻辑运算符:|

  逻辑运算符:&&

  逻辑运算符:||

  比较运算符:等于 = *= /= %= += -= <<= >>= &= ^= |=

  后缀的++和--

六,名称空间

  using system; //system是.net FrameWork应用程序根命名空间,之后就能在全局名称空间引用system中的代码。

  namespace 空间名称

   {

      using 空间名称2.代码2;//之后就能在代码1处直接引用代码2

      代码1;

      namespace 空间名称2

      {

      代码2;

      }

   }

七,条件语句

  A,If语句:通用判断

    If (条件1)

      代码1;

    Else

      代码2;

    If (条件1)

    {}

    Else

    {}

  B,Switch语句:用于同条件多结果判断

    Switch (条件)

     {

      Case 结果1:

      代码1;

      break;

      Case 结果2:

      代码2;

      break;

      Case 结果3:

      代码3;

      goto Case 结果2;//此时Case..相当于一个Label

      Case 结果4:

      代码4;

      Return;

      Case 结果5:

      Case 结果6:

      Case 结果7:

      代码567;//只要满足上面三个Case之一就执行。

      break;

      ...

      Default:

      代码;

      break;

     }

  C,三元运算语句:(条件)?True结果:False结果

    常用于简单赋值语句:string myString = (myInteger<10)?"Less than 10":"Great than or equal to";

    或者用于简单格式化文本语句:Console.WriteLine("I am {0} year{1} old.",myinteger,myinteger==1?"":"s");

八,循环语句:

  A,Do...While: 当条件为True时循环。

    Do

    {...}

    While(条件);//分号不可少

  B,While...: 当条件为True 时循环。

    While(条件)

    {...}

    

  C,For...: 使用计数器循环。

    For (变量;条件;操作)//可以在此时声明变量,但作用域就仅限于循环内了。

    {...

    Break;//跳出整个循环

    Return;

    Continue;//中止当前循环,继续下一个循环

    Goto 标签;//禁止从循环外部用goto跳入循环内部

    }

九,函数

A,函数定义:

static 返回值类型/void 函数名(参数类型1 参数1,参数类型2 参数2,...)

{

...

return 返回值;//return必须在函数结束前被处理,不能跳过

//return ;//当用于void时用不带返回值的return来中止函数。

}

B,参数数组:

static int sumVals(params int[] vals)

{

int sum = 0;

foreach(int val in vals)

{

sum+=val;

}

return sum;

}

static void Main(string[] args)

{

int sum = sumVals(1,5,2,9,8);

Console.WriteLine("Summed Values = {0}",sum);

}

C,值传递参数/引用传递参数/out输出参数

static void showDouble(ref int val)//引用传递参数

{

val*=2;

Console.WriteLie("val doubled = {0}",val);

}

static void showDouble2(int val)//值传递参数

{

val*=2;

Console.WriteLine("val doubled = {0}",val);

}

static void showDouble3(int val,out int valIndex)//out输出参数

{

val*=2;

valIndex++;

Console.WriteLine("val doubled = {0}",val);

}

int myNmuber = 5;

showDouble(ref myNumber);//引用传递参数,会改变myNumber值,所以要求myNumber必须不是常量或者未初始化的变量。

showDouble2(myNumber);//值传递参数,不会改变myNumber值

int valindex;//out输出参数,不用初始化,初始化了也会在函数开始执行时丢失值。

showDouble3(myNumber,out valIndex);

D,全局变量

static/const 变量名//const定义的全局变量是只读的

当全局变量与局部变量同名时,局部变量优先,要用类似class1.myString来引用全局变量。

E,Main()函数;

static void Main()

static void Main(string[] args)//args是函数命令行参数

static int Main()//返回一个表示函数终止状态的int值

static int Main(string[] args)//返回一个表示函数终止状态的int值

F,结构中的函数

G,同名函数的重载:同名,签名不同,系统自动识别使用哪个函数

H,委托:用于把引用存储为函数以灵活调用函数

十,面向对象基础

十一,类

1,类的定义

class 类名

{

//类成员

}

internal/public

sealed/abstract

十和,接口

interface IMyInterface

{

//接口成员

}

C#的基本语法介绍

我现在还住在一个叫做六郎庄的地方,这里距中关村很近。我说这话的意思是本文出自一个小鳖三之手,而且他常常到北大去“剽学”,这种有些类似于贼的行为是被许多人所不屑的,因而也有人称其为“嫖客”。我便是其中的一位。事实上如果你真的成为他们中的一员,才会发现大学里培养的很多人才是从这里出去的。有时候别人怎么称呼你并不重要,重要的是你学习与生活的决心。

  在c#出世之前,我是一名VB程序爱好者,微软的东西一直来说我都比较喜欢,一来是高手之做,二来确被他们的思想所震撼。C#是随vs.net出现的一种新生语言,#(sharp)是music中的一个符号,而且也有锋利的意思。对于我来说,更愿意将其看做是c++++,四个+的组合。究其根本还是c,只是提练的更简洁/更方便/更帅呆而已,它经历了c++、java(c+++)到c#(c++++),如果你是一名vb程序员,我见意你能花点时间学习c#,没有别的原因,只是我的感觉而已。vs.net新推出的时候,我准备找点samples来看,结果发现很多是c#的实例,这样才下定决心学习c#,但并不是放弃vb,两种语言都很帅,如果你习惯像我一样愿意copy/paste代码来做程序的话,相信我,没错的。

  Note:

c#的比较灵活,如果你用notepad写过script脚本的话,你会喜欢c#的加入。当然vs.net来做看起来可能会更棒。比较重要的一点,如果你曾经是vb程序员的话,那么就得注意一下c#程序的一些规则,大小写是不一样的。在这方面我吃了不少的苦头,希望你也吃点,这样记得比较牢靠。

一、 基本数据类型

  这是比较烦燥的一部分,但是有些东西你就得强记,如果偷了懒,最后吃亏的还是你自己。这一点要切记。

  在c#语言中,有多种数据类型,这些类型都定义在通用类型系统(common type

system)中,所有的类型也都继承自system.object,所以每一种类型也都是对象。它们根据在内存中存放的方式,分为实质类型和参考类型两种。

  

  

  当内存中的值发生改变时,参考类型也跟着改变。

  下面是数据类型的组织结构图:

  

  

  整数数据类型:

  在C#中有8种整数数据类型可以使用:

  

  例:

  int jzh=0;

  布尔数据类型

  布尔类型的数据只有两种值:true或false,而且不能转化为其它类型的数据。例:

  bool jzh=true;

  字符数据类型

  char实际上用来表示16位的Unicode的字符。例:

  char jzh = 'X'; // Character literal

  char jzh = '\x0058'; // Hexadecimal

  char jzh = (char)88;

  char jzh = '\u0058'; // Unicode

  浮点数据类型

  float: The float keyword denotes a simple type that stores 32-bit

floating-point values。32位浮点数。

  Double: The double keyword denotes a simple type that stores

64-bit floating-point values.64浮点数。

  参考数据类型:

  参考数据类型的变量中存放的不是实际的变量值而是一个参考值,这个参考值指向真正数据所在的地址。这些数据可能是对象、字符串或者是数组。

  关于object我想这是一个很重要的概念,在微软的.net世界里体现的就是一个everything is

object的思想。也就是说.net环境中,任何都可以成为对象,如下:

  object jzh=1;

  任何数据类型都是从system.object继承来的,也就是说任何数据类型的值都可以设置给object。

  字符串是一个很熟悉的概念。但是你知道吗,字符串也可以被看做数组来处理,例:

  string jzh=”I am jzh”;

  char jzh2=jzh(0);

  那么jzh2=’1’

  数组也是程序设计中常常提到的,它的优势是你可以储存一个以上的变量。但是这些变量的数据类型都要一样才行。例:

  int[] intarray=new int[217];

  

二、 C#程序

  C#里常用的一些程式基本上和C++差不太多,和VB也只是形式上变更了一下。我不准备说太多,重点就C#在ASP.NET中的应用提供了点说明。更多的内容你完全可以查阅Microsoft自带的sdk。

  在ASP.NET中使用C#,和我们在ASP中使用vbscript以及jscript是一样的。只是将其改为C#罢了。当然它必须撰写在

  note:和VB与C#的大小写一样,在C#中的变量是要提前声明的,这一点用惯vbscript的程序员一定要注意。

  If 判断式

  这是一个几乎在任何语言中都会出现的东西,相当于我们国内的如果…那么…。这种句子在second

grade的小学生就被teacher要求用来造句,当然你千万别告诉我你没上过二年级。它在VB中的表现是if …then…end

if这样的形式。它在sdk中是这样的:

if (expression)

statement1

[else

   statement2]

  在C#语法中,if判断式的语法如下:

  if (bool 条件式)

  {

  //处理的程序

  }else

  {

  //处理的程序

  }

  这是一个在microsoft的sdk中给出的例子:

// if-else example

using System;

public class IfTest

{

public static void Main()

{

Console.Write("Enter a character: ");

char c = (char) Console.Read();

if (Char.IsLetter(c))

if (Char.IsLower(c))

Console.WriteLine("The character is lowercase.");

else

Console.WriteLine("The character is uppercase.");

else

Console.WriteLine("The character is not an alphabetic character.");

}

  下面是我给你的一个例子:

  

 ?lt;head>

  

  

  

     

   ?lt;/body>

  

  详例请见例程中的if.aspx文件。

  我们在上面的例程中看到这样的语句:

  if(DateTime.Now.Hour>=12 && DateTime.Now.Hour<22)

  &&是在C#中的逻辑运算符,它表示and的意思。在C#中,if语句是用来判断的,也就是说判断的语句一定是判断式,而非表达式。如if(jzh=5)是C#中是错误的。我将这些比较运算符及逻辑运算符整理如下表:

  

  switch判断式

  在if语句中你看到了遇到多种判断情况时所使用的else

if语句,它确实不错,但是当你要判断的条件越来越多时,它的书写就太麻烦了,为此,microsoft又定义了另一个条件判断式switch,用于程序中的条件式有多个选项,而根据这些不同的输出选项做出不同的处理。

  Microsoft在sdk中的说明如下:

switch (expression)

{

case constant-expression:

statement

jump-statement

[default: statement]

  }

  我的说明如下;

  switch(条件式)

  {

  case 值1:处理程序;[goto case 欲跳转到的某语句];

  case 值2:处理程序;

  …

  default:默认的处理程序;

  }

  微软给你的例子如下:

using System;

using System.IO;

class SwitchTest

{

public static void Main()

{

Console.WriteLine("Coffee sizes: 1=Small 2=Medium3=Large");

Console.Write("Please enter your selection: ");

string s = Console.ReadLine();

int n = int.Parse(s);

switch(n)

{

case 0:

goto case 1;

case 1:

Console.WriteLine("You selected small size. Insert 50 cents.");

break;

case 2:

Console.WriteLine("You selected medium size. Insert 75 cents.");

break;

case 3:

Console.WriteLine("You selected large size. Insert $1.00.");

break;

default:

Console.WriteLine("Invalid selection. Please select 1, 2, or 3.");

}

Console.WriteLine("Thank you for your business.");

}

  }

  我给你的程序如下:(见switch.aspx)

  

  

  

  

  

  

  

  

  如果想把这个执行顺序说明的更加清楚,应该改动一下这个程序,我更改后的结果为switch2.aspx。

  for循环

  不少的程序设计类书籍都会告诉你for循环是已经知道执行的次数或者执行范围的时候所采用的循环语句。

  微软给你的说明如下:

  for ([initializers]; [expression]; [iterators]) statement

  翻译成中文大概如下:

  for (起始值;条件式;累加数值){处理程序}

  详见实例for.aspx:

  

  

  

  

  

  

  

  

  while循环

  for循环是用来知道要执行多少次循环的情况下使用的,而如果不知道要知道循环多少次,我们希望它能不断的产生循环,直到达到一定的条件时循环终止,这种情况下我们采用while循环。

  While循环分为while循环和do…while循环两种。

  While循环的语法如下:

  While(条件式){处理的程序}

  Do…while的语法如下:

  Do

  {

  处理的程序

  }

  while(条件式)

  它与while循环的明显区别在于无论是否满足条件至少执行一次处理程序。实例见while.aspx:

  

  

  

  

  

  

  

  

  foreach循环

  在C#中吸取了一个在VB集合中应用的循环语句,foreach。它是将集合中的每一个项目(item)代入变量中进行处理。当然变量也是根据集合项目的类型进行声明的。其语法如下:

  foreach(对象类型 变量 in 集合){处理程序}

  实例详见foreach.aspx:

  

  

  

  

  

  

   李忠琪

   彭海河

   姜志辉

   杨起荣

  

  

 ?lt;/body>

  

1、大小写区别

2、在C#中的布尔类型为bool,而JAVA为boolean

3、C#有一个不安全模式,在此模式之下可以使用指针

4、有枚举类型

5、代理和索引器

6、运算符重载

7、没有throws关键字

下面开始C#之行。

在开始学习C#之前,先了解下C#语句的特点:

1. C#是区别大小。2. 每一句都以分号结束,不象VB.NET。3. 多个语句通过分号可以写在一行,不过不推荐,因为不清晰。OK,开始了。

先了解下其数据类型:

bool true或false

byte 8位无符号整数

short 16位整数

int 32位整数

long 64位整数

float 32位浮点数

double 64位浮点数

char 16位字符

string 多个16位字符

宽度窄的(即字节数少的)数据类型可以直接赋给较宽的数据类型,并会自动转换为新类型。例:

float a = 9.9f;

int b=4;

a = b;

//上述把一个整型的4转换成了浮点型.同样也可以通过强制类型转换将宽类型的缩成窄类型例: float a = 9.9f;

int b=4;

b = (int)a;

//注意必须把要转换的类型名称放在圆括号内,并放在其前面字符串与数值互换: string a = Convert.ToString(b);

float a = Convert.ToSingle(b);

同样也可以像C语言那样格式化输出:

float a=3.1415926728f;

string b=a.ToString("##.##");

变量与常量声明:

C#中允许一条语句声明同一类型的多个变量

int a,b;

但为了语句清晰推荐将多个声明写成多个语句。

有一点要注意,就是如果在声明数值型变量时没有小数部分,则自动为整数类型,有小数部分的,则自动为double类型,而不是float类型,可通过下面声明,转换为不同类型:

float a=1.2f ; long b=23L ;

对于常量声明,习惯用大写符号来表示常数,如:

const float PI = 3.1415926 ;

对于字符声明,得用单引号括起来,如:

char a = ''d'' ;

还可以这样赋值:

int a = b = c = 2;

虽然方便,但并不推荐,推荐将其拆成三个语句来写,这样结构也清晰。

(注:C#的变量名长度是任意的,可以由数字和大小写字母混合组成,但第一个必须是字母。

关于C#中的转义字符:

\n ------------------------- 换行

\r ------------------------- 回车

\t ------------------------- 制表符

\b ------------------------- 退格

\f ------------------------- 换页

\0 ------------------------- 空符号

\" ------------------------- 双引号

\'' -------------------------单引号

\\ -------------------------反斜杠

还有一个较特殊的,就是@号,只要语句前加@号,即表示@号后面的包括有转义符的都按不进行转义运算。

--------------------------------------------------------------

还是先看个例子吧,因为自己也有体会,一味地看语句,很无聊 ^_^

using System;

class sample

{

static void Main(string[] args)

{

string hey="希望如我所愿";

Console.WriteLine("c#快速入门,"+hey);

}

}

很头开始分析:using 语句说明程序中要用到C#的代码库,接着是个类名,可以包括有多个类,类中的东西都必须放在大括号中,整个程序以Main函数开始。按F5可以编译执行。好,完成第一个C#程序。再来看烦燥的语法:

运算符:

算术运算符:

+ --------------------- 加

- --------------------- 减

* --------------------- 乘

/ --------------------- 除

% --------------------- 求余(即整除后的余数)

逻辑运算符:

& --------------------- 按位与

| --------------------- 按位或

^ --------------------- 按位异或

~ --------------------- 取反

>>n ------------------- 右移n位

<

递增递减运算符:

++ 或 -- 或 += 或 -= 或 *= 或/=

如i=1;i++;即等i=i+1; 其它为同样的道理,不说。

比较运算符:

> 或 < 或 == 或 != 或 >= 或<= 一看就明白,也不说。

C#的条件判断:

if(a > 0)

{

a = -1;

}

else

{

Console.WriteLine(a);

}

条件必须放在括号里.

两个条件的判断,注意括号和条件中的等号

if((a = = 0) && (b>0))

{

a = -1;

b = -1;

}

else

{

Console.WriteLine(a + b);

}

switch 用于多个可能的值,如果有一个匹配,则执行相应代码,每句之后必须有break语句中断后面语句的执行。

switch(a)

{

case 1:

Console.WriteLine("1");

break;

case 2:

Console.WriteLine("2");

break;

case 3:

Console.WriteLine("3");

break;

default:

Console.WriteLine("default");

}

while 循环:

-------------------------------------------

a=1;

while (a<20)

{

a=+=a;

}

只要a<20这个条件为真,则循环加a,直到a<20

------------------------------------------

do-while 循环:

------------------------------------------

a=1;

do

{

a=+=a;

}

while(a<20);

------------------------------------------

do while循环与while循环类似,区别在于do-while循环至少执行一次a+=a;

for 循环:

-------------------------------------------

int j=1;

for(int i=0;i<100;i++)

{

j++;

Console.WriteLine("i = "+i+"j = "+j);

}

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值