跳转语句

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. poj 1003 (nyoj 156) Hangover

    点击打开链接 题目大意 就是有很多卡片可以沿着桌边向外放,每次可以伸出1/2,1/3,1/4问最少多少卡片才能让一张完成的卡片悬空,题目输入卡片的宽度,输出卡片个数 #include<stdio ...

  2. JDBC进行批处理

    转自 http://mousepc.iteye.com/blog/1131462 业务场景:当需要向数据库发送一批SQL语句执行时,应避免向数据库一条条的发送执行,而应采用JDBC的批处理机制,以提升 ...

  3. Apache配置简单http认证

    首先要说明的是这种认证是不安全的,密码是明文传输,因此很容易被各种嗅探软件嗅探到密码,只能用于简单的认证.今天上午把ownCloud卸载了,这玩 意儿中看不中用啊,原来10M的访问速度被限制成了几百K ...

  4. 【摘要】多线程 - BeginInvoke异步调用

    private delegate int MyMethod(); private int method() { Thread.Sleep(); ; } private void MethodCompl ...

  5. nodejs Express 4.x req.body req.query req.params 三种获取参数的方法

    第一种情况:http://localhost:3000/1,我们可以用req.params.(应该是跟路由有关,待) 第二种情况:http://localhost:3000/?id=1,用req.qu ...

  6. dedecms代码研究七

    简单回顾一下,前面我们首页动态文件index.PHP调用arc.partview.class.php来初始化首页模板 arc.partview.class.php通过SetTemplet调用DedeT ...

  7. TCP控制拥塞的四种算法:慢开始,拥塞避免,快重传,快恢复

    我们在开始假定: 1:数据是单方向传递,另一个窗口只发送确认. 2:接收方的缓存足够大,因此发送方的大小的大小由网络的拥塞程度来决定. 一:慢开始算法和拥塞避免算法 发送方会维持一个拥塞窗口,刚开始的 ...

  8. 文章“Redcing the Dimensiongality of Data with Neural Networks”的翻译

    注明:本人英语水平有限,翻译不当之处,请以英文原版为准,不喜勿喷,另,本文翻译只限于学术交流,不涉及任何版权问题,若有不当侵权或其他任何除学术交流之外的问题,请留言本人,本人立刻删除,谢谢!! 本文原 ...

  9. leetcode刷题: 002 Add Two Numbers

    You are given two linked lists representing two non-negative numbers. The digits are stored in rever ...

  10. android开发时gen和bin目录的SVN管理(转)

    转自:http://www.cnblogs.com/brucenan/archive/2012/02/23/2364702.html android在eclipse下的项目,会生成gen和bin两个目 ...