跳转语句

Goto(现在一般不使用)

标志位

Flag true false

常量:(不可改变的量)

语法:

Const 类型 变量名 = 常量值

在定义时赋值,其他地方不能赋值

枚举

是自己定义了一种类型,并且在定义这种类型时,我们要指定这个类型的所有值。

语法:

Enum 自己起的类型名称{写自己定义类型的所有的值,用逗号分割}

枚举定义和类一个级别,这样在同一个命名空间下的所有的类都可以使用这个枚举了。(方法中、类中均可以),值不用双引号。

枚举的作用:

1) 限制用户不能随意赋值,只能在定义枚举中列举的值中选择。

2) 不需要死记住每个值是什么,只需要选择相应的值。

定义枚举的时候,值不能使int 类型。

枚举类型的变量都可以强制转换为int 类型。

字符串与枚举的转换(把字符串转换为枚举类型)

(自定义枚举类型)(Enum.Parse(typeof(自定义枚举类型),“待转换的字符”))

结构体

定义:

访问修饰符 struct 结构名

{

定义结构成员(可以包含变量和方法)

}

注意:

定义好一个结构体后,就可以直接声明相应的变量了,声明好变量后,通过变量名来访问结构体的成员。

数组

可以帮助我们申请多个同类型的变量。这些变量时连续存储的。保存多个值,几乎任意连续都可以声明数组。

数组声明的方法:

数据类型 []数组名=new 数据类型[数组长度]

Int  [] score = new int [5];f

就是声明了一个长度为5的数组,里面包含看5个int 类型的变量,数组名叫score,里面的5个int类型的变量叫做数组的元素。

如何来访问数组:

通过下标(索引)来访问数组。

数组名[索引号、下标]

Score[3]= 8;

Int类型数组一旦声明,里面的每个元素被初始化为0 ,

通过数组名.Length可以获得数组的长度,

Console.Clear();清屏

声明并赋初值:

Int [] num = new int [3]{3,5,8};

Int [] num = new int[]{3,5,8};

Int [] num = {3,5,8}

Int [] num = new int [3];

方法(函数):

一个方法只能有一个返回值,一旦一个方法有返回值,那么在这个方法中,就必须通过return语句来返回一个值,并且这个值,要与返回值类型时相同的。

语法:

Retrun 值

当形参是数组的时候,我们传递数组名。

函数就是将一堆代码重用的机制,函数就是一段代码,这段代码可能有输入的值(参数),可能有返回值。一个函数就像一个专门做这件事的人,我们调用它来做一些事情,它可能需要我们提供一些数据给她,它执行完成后会有一些结果给我们,要求的数据就叫做参数,返回的执行结果就叫做返回值。

方法的定义:

【访问修饰符】[static]返回值类型 方法名([参数])

{

方法体;

}

1) 一般情况下,方法要定义在类中;

2) 如果方法没有参数,()不能省略。

注意:

3)方法名的命名规则,开头大写,参数开头瞎写,参数名,函数名

要有意义。

3) 方法的调用,对于静态的方法,如果在同一个类中,直接写名字调用就可以了。

4) Return 可以立即退出方法。

5) 如果方法没有返回值,则返回值类型为viod

变量的作用域

在方法中定义的变量为局部变量,其作用域从定义开始,到其所在的大括号为止。

当调用者想得到被调用者方法中的变量时,则可以让调用者用参数的形式给被调用者。

Public static void Test(int number);

在方法名后面的括号内定义的变量,叫做定义这个方法的参数,这里定义的参数用于接收调用者传过来的参数。

注意:一个方法一旦有参数,那么调用者就必须传递参数,并且传递参数的个数与对应位置的类型必须一致。

Int.Parse()把字符串类型转换为int类型

当调用者想访问我们方法中的变量时,可以通过返回值返回。

String  s = Console.Readline();

只要在方法中返回了值,那么在调用方法时,就应该定义一个变量来接收方法的返回值。

注意:

1) 一个方法只能有一个返回值

2) 一旦一个方法有返回值,那么在这个方法中美酒必须通过retrun语句返回一个值,并且这个值的类型要和返回值类型相同

语法

Retrun 值;

一个变量一旦定义在方法外,类的里面,就叫做类的字段,这个变量就可以被本类中的所有方法访问,但是要注意,静态方法只能访问静态字段。

由const修饰的常量不能用static修饰。

方法的重载

一般,在同一个类中,方法名相同,并且方法的参数的个数不同,或者对应位置上的类型不同,才能够构成方法的重载。

方法的重载与返回值没有关系。

如何让方法返回多个值?

方法的out 参数和ref参数

实现步骤:

1)方法的参数类型前加out,那么传参数的时候,也必须在传参数前加out,表明这个参数不是传入的,而是用来传出值的。

2)如果参数是以out 形式传入的,那么在传入前可以不附初值。

3)在方法中,对于由out修饰参数,必须赋值,并且在使用前赋值。

异常处理语句

一个try块可以:

1)一个finally块,无catch块

2)有一个或多个相关的catch块,二无finally块

3)包含一个或多个catch块,同时同一个finally块

Throw语句

class Program

{

public class UserEmployeeException : Exception//派生了一个新异常类

{

//定义了3个构造函数,每个构造函数使用不同的参数,然后再抛出异常

private string errorinfo = string.Empty;

public UserEmployeeException()

{

}

public UserEmployeeException(string message)

: base(message)

{

errorinfo = message;

}

public UserEmployeeException(string message,Exception inner):base(message )

{

errorinfo = message;

inner = null;

}

}

static void Main(string[] args)

{

try

{

throw new UserEmployeeException("error info of use");

}

catch(UserEmployeeException  ey)

{

Console.WriteLine("输出结果为:");

Console.WriteLine(ey.Message ,ey .InnerException );

Console.ReadKey();

}

}

}

Try-catch

Try-catch-finally

Finally块用于清除try块中分配的任何资源,以及运行必须执行代码,及时在发生异常的情况下,控制将总是传递给finally块,与try块的退出方式无关。

static void Main(string[] args)

{

int i = 123;

string s = "some string";

object o = s;

try

{

i = (int)o;

}

catch (Exception ee)

{

Console.WriteLine(ee.Message.ToString());

}

finally

{

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

}

Console.ReadKey();

C# 基础(3)的更多相关文章

  1. java基础集合经典训练题

    第一题:要求产生10个随机的字符串,每一个字符串互相不重复,每一个字符串中组成的字符(a-zA-Z0-9)也不相同,每个字符串长度为10; 分析:*1.看到这个题目,或许你脑海中会想到很多方法,比如判 ...

  2. node-webkit 环境搭建与基础demo

    首先去github上面下载(地址),具体更具自己的系统,我的是windows,这里只给出windows的做法 下载windows x64版本 下载之后解压,得到以下东西 为了方便,我们直接在这个目录中 ...

  3. js学习笔记:webpack基础入门(一)

    之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...

  4. Golang, 以17个简短代码片段,切底弄懂 channel 基础

    (原创出处为本博客:http://www.cnblogs.com/linguanh/) 前序: 因为打算自己搞个基于Golang的IM服务器,所以复习了下之前一直没怎么使用的协程.管道等高并发编程知识 ...

  5. [C#] C# 基础回顾 - 匿名方法

    C# 基础回顾 - 匿名方法 目录 简介 匿名方法的参数使用范围 委托示例 简介 在 C# 2.0 之前的版本中,我们创建委托的唯一形式 -- 命名方法. 而 C# 2.0 -- 引进了匿名方法,在 ...

  6. HTTPS 互联网世界的安全基础

    近一年公司在努力推进全站的 HTTPS 化,作为负责应用系统的我们,在配合这个趋势的过程中,顺便也就想去搞清楚 HTTP 后面的这个 S 到底是个什么含义?有什么作用?带来了哪些影响?毕竟以前也就只是 ...

  7. Swift与C#的基础语法比较

    背景: 这两天不小心看了一下Swift的基础语法,感觉既然看了,还是写一下笔记,留个痕迹~ 总体而言,感觉Swift是一种前后端多种语言混合的产物~~~ 做为一名.NET阵营人士,少少多多总喜欢通过对 ...

  8. .NetCore MVC中的路由(1)路由配置基础

    .NetCore MVC中的路由(1)路由配置基础 0x00 路由在MVC中起到的作用 前段时间一直忙于别的事情,终于搞定了继续学习.NetCore.这次学习的主题是MVC中的路由.路由是所有MVC框 ...

  9. .NET基础拾遗(5)多线程开发基础

    Index : (1)类型语法.内存管理和垃圾回收基础 (2)面向对象的实现和异常的处理基础 (3)字符串.集合与流 (4)委托.事件.反射与特性 (5)多线程开发基础 (6)ADO.NET与数据库开 ...

  10. .NET 基础 一步步 一幕幕[面向对象之方法、方法的重载、方法的重写、方法的递归]

    方法.方法的重载.方法的重写.方法的递归 方法: 将一堆代码进行重用的一种机制. 语法: [访问修饰符] 返回类型 <方法名>(参数列表){ 方法主体: } 返回值类型:如果不需要写返回值 ...

随机推荐

  1. JVM参数(三)打印所有XX参数及值

    本篇文章基于Java 6(update 21oder 21之后)版本, HotSpot JVM 提供给了两个新的参数,在JVM启动后,在命令行中可以输出所有XX参数和值. -XX:+PrintFlag ...

  2. 第四周psp

    10号 类别c 内容c 开始时间s 结束e 中断I 净时间T GUI 查资料 12:10 12:40 0m 30m GUI 安装QT 19:10 21:00 20m 90m GUI 学习QT 23:0 ...

  3. tomcat + apache +jkmod 配置php,jsp共存

    httpd.conf ##############################################################################配置phpLoadMo ...

  4. python与正则表达式:re模块详解

    re模块是python中处理正在表达式的一个模块 正则表达式知识储备:http://www.cnblogs.com/huamingao/p/6031411.html 1. match(pattern, ...

  5. redis 问题解决(MISCONF Redis is configured to save RDB snapshots)

    (error) MISCONF Redis is configured to save RDB snapshots, but is currently not able to persist on d ...

  6. scrollView实现基础中心点缩放及与UIPageControl结合使用

    一般来说scrollView与UIPageControl都是结合使用,因为在使用滚动视图的时候 ,使用UIPageControl,用户可以 清楚 的明白显示的内容有多少页,如果 没有的话,总不能让用户 ...

  7. 第五百八十三天 how can I 坚持

    今天去看了个电影,日本动漫,第一次在电影院看日本动漫,<你的名字>,挺经典的.存在爱情吗?什么是爱情,哎.什么是人. 好像有点感冒了呢,说过自己很久没感冒后,往往就会感冒,这到底是怎么回事 ...

  8. CSS盒子模型学习记录3(侧面导航栏)

    学习http://www.blueidea.com/tech/web/2007/4545_2.asp 代码试验 html <!DOCTYPE html PUBLIC "-//W3C// ...

  9. SHELL脚本攻略(学习笔记)--2.4 find

    转载请注明出处:http://www.cnblogs.com/f-ck-need-u/p/5916657.html   超级强大的find命令. find搜索是从磁盘搜索,而不是从数据库搜索. 2.4 ...

  10. EmptyRecycle() 清空回收站

    //在uses下面引用 function SHEmptyRecycleBinA(Wnd:HWND;str:PChar;WRD:DWORD):Integer;stdcall; external 'SHe ...