【读书笔记】C#高档编制程序 第二章 大旨C#

枚举是客户定义的整形类型。枚举使代码易于维护、更清楚、易于输入。申明格局:

TimeOfDay timeOfDay = new TimeOfDay();
switch (timeOfDay)
{
    case TimeOfDay.Morning:
        Console.WriteLine("Morning");
        break;
    case TimeOfDay.Afternoon:
        Console.WriteLine("Afternoon");
        break;
    case TimeOfDay.Evening:
        Console.WriteLine("Evening");
        break;
    default:
        break;
}

2、类型预计

能够拿走枚举的字符串表示:

概念上的分别:值类型直接存款和储蓄其值,引用类型存款和储蓄值的引用

图片 1

while (条件)
{

}

运作代码,结果如下

int x,y;

 

1、条件语句

以下两行语句是一心等价的

(九)使用注释

它们不是按代码在前后相继中的排列地方实行顺序施行的

标准语句能够依附标准是还是不是满意或根据表达式的值调整代码的施行分支。

注意:

 

以下语句在未曾开头化的气象下,对变量进行调用是不对的(编写翻译器会报错)

例子:

2.浮点型

3.decimal类型

/*
 这是多行注释
 第一行
 第二行
 */

continue与用于退出for、foreach、while或do…while当前迭代,开始推行下三回迭代,不是脱离循环(退出循环是break干的事体)

(七)Main方法

Console.WriteLine();那条语句的情致:把括号内的内容输出到分界面上;

例子:

int x;

1、类型的最早化

例子:

运维代码,结果如下

1.if语句

 

1.goto语句

 

bool condition = true;
while (condition)
{
    Console.WriteLine("循环内容");
    condition = false;
}
  • C#以立陶宛共和国(Republic of Lithuania)语分号(;)甘休语句;
  • 用花括号({})把语句组成块;
  • C#区分轻重缓急写 。

 

图片 2

int i = 0;
switch (i)
{
    case 0:
        Console.WriteLine("i=0");
        break;
    case 1:
        Console.WriteLine("i=1");
        break;
    case 2:
        Console.WriteLine("i=2");
        break;
    default:
        break;
}

 

以下代码会在 i
满意case后面值的时候,运营此case以下方今的break以上这段距离内的代码

C#援救8个预约义整数类型

decimal类型是高精度的浮点数,小数的位数可由客户自定义,但因decimal不是着力项目,所以在测算时采取会有质量损失.

测验特定条件是不是满意

break用于退出for、foreach、while或do…while以及switch语句中有些case语句。

4、常量

 

多行注释/**/,语法如下:

常量必需在宣称时开首化。内定了其值后,就不可能改写了。

从字符串中获取枚举值:

 3、跳转语句

例子:

TimeOfDay timeOfDay = new TimeOfDay();
Console.WriteLine(timeOfDay.ToString());

 

地点的言辞修改为以下语句本领平常运作

以下代码申明了三个名叫a的常量

名声不佳不介绍

int x = 10;
Console.WriteLine(x);

C#的for循环提供的迭代循环机制是在推行下二遍迭代前,测验是或不是满足某些条件。语法如下:

为了保存单个字符的值,C#支撑char数据类型

单行注释//…,语法如下:

名称

CTS类型

说明

位数

范围

类型后缀

decimal

System.Decimal

高精度浮点数

28

 

M

foreach循环能够迭代集合中的每一样(今后无须怀念集结的定义,知道会集是一种含有了一群东西的事物就行)。

内部存款和储蓄器存款和储蓄的分裂:值类型存款和储蓄在仓房中,而援引类型存款和储蓄在托管堆上

4.bool类型

bool condition = false;
do
{
    Console.WriteLine("循环内容");
} while (condition);

 

以下代码同一时候设置多少个标准,当准则知足时运营对应位置花括号内的代码

名称空间的别称,使用using关键字,语法如下:

using Sy = System;

return语句用于退出类的方法,把调控权重临方法的调用者。

(八)有关编写翻译C#文本的更加的多内容

 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Text;
 5 using System.Threading.Tasks;
 6 
 7 namespace ConsoleApp1
 8 {
 9     class Program
10     {
11         static void Main(string[] args)
12         {
13             Console.WriteLine("Hello World");
14             Console.ReadKey();
15         }
16     }
17 }

首要利用#region和#endregion,其他的见别的参照他事他说加以考察

 

 (十)C#预管理器指令

2、预订义的值类型

 

 

int x = 10;
int y = 20, z = 30;

 

假定想得到多少个能够有.NET运营库加载的非可实施文件(如DLL),就非得把它编写翻译为多个库。

TimeOfDay timeOfDay = (TimeOfDay)Enum.Parse(typeof(TimeOfDay), "afternoon", true);

 

于for循环相同,while也是一个预测验循环。其语法如下:

 

名称

CTS类型

说明

位数

范围

类型后缀

float

System.Single

32位单精度浮点数

7

 

F

double

System.Double

64位双精度浮点数

15/16

 

 

运营代码,结果如下:

图片 3

int x = 20;
int y = 20;

图片 4

常量总是静态的。

(五)枚举

点击F5后弹出输出分界面如下:

(四)流控制

准绳:在每便推行新循环前要测验的表达式,当此说明式为false时,迭代终止

例子:

3.continue语句

常量是其值在动用进程中不会产生变化的变量。常量的根本字是 const 。

1、值类型和引用类型

1.整形

注意:

运维代码,结果如下:

图片 5

5.字符类型

 

 

早先化器:在推行第一回巡回前要总结的表明式

例子:

 

图片 6

以下语句同不日常间证明了x,y四个变量,类型变量同一时候为int类型

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
if (条件)
{

}

4.return语句

 C#提供了4种分裂的循环机制(for、while、do…while和foreach),在满意条件在此以前,能够重复实行代码块。

while循环适用于:在循环前,不清楚要双重的次数

以下代码表示当法规知足时运行花括号内的代码

因为int是值类型,以下语句会在内部存款和储蓄器的四个地点寄放值20

 

例子:

(三)预约义数据类型

  • if括号中条件的表达式必需等于布尔值;
  • 程序只运营从上到下最初满足条件地方的代码。
  • 拉长到if子句中的else if语句不受数量限制,但else的多少只好为0或1

 

foreach (var item in CustomerList)
{
    Console.WriteLine(item);
}

运作以上代码,结果如下

for (初始化器; 条件; 迭代器)
{

}

do…while循环是while循环的后测量试验版本。do…while循环适用于:至少要将循环体实行壹遍的气象:

例子:

我们假定CustomerList是多少个聚焦

 

例子:

1.for循环

C#编写翻译器必要用有个别初阶值对变量举办初步化,之后手艺在操作中援用该变量

  • case的值不可能平等,且必需是常量表明式;不容许行使变量
  • case子句可以为空(未有运营代码和break),就足以平素跳到下一条case上
  • case子句的投放顺序非亲非故主要
  • case的值能够是字符串

 

  

string str1 = "字符串1";
string str2 = str1;
Console.WriteLine("修改str1之前,str2的值:"+str2);
str1 = "字符串2";
Console.WriteLine("修改str1之后,str2的值:" + str2);

变量的作用域是足以访谈该变量的代码区域。一般景观下,鲜明作用域服从以下法规:

1 People people1 = new People();
2 people1.Age = 20;
3 People people2 = people1;
4 Console.WriteLine("修改people1.Age之前,people2.Age的值:" + people2.Age);
5 people1.Age = 21;
6 Console.WriteLine("修改people1.Age之后,people2.Age的值:" + people2.Age);
7 
8 Console.ReadKey();

string与援引类型的广大行为某些差别。举个例子,字符串是不行改换的。

迭代器:每便迭代完要总括的表达式

2.switch语句

(一)第一个C#程序

例子:

基于以上结果大家得以看看people1.Age的改造对people2.Age变成了影响,那是因为援引类型存储的是引用,当people1赋值给people2时,people1和people2就针对了同一的引用,只要在那之中有二个对援引内容开展了退换,那么富有指向该援引的变量都会时有发生修改。

const int a = 10;

 

Console.ReadKey();那条语句的乐趣:一般就是用来在程序运维到此处时等待键盘输入,以此来完毕不闭馆分界面包车型地铁效应,方便大家观看输出结果

常量具备如下特点:

int i = 0;
if (i<=0)
{
    Console.WriteLine("运行【if (i<=0)】位置代码");
}
else if (i<=1)
{
    Console.WriteLine("运行【else if (i<=1)】位置代码");
}
else
{
    Console.WriteLine("运行【else】位置代码");
}

咱俩得以看来,str1的退换未有对str2的修改。形成那样结果的缘故是:字符串即使是字符串,但因为其不足改换性,在大家对str1实行修改时,会在堆中重新分配多少个新的string对象。

例子:

以下语句对表明的变量进行了伊始化(赋值)

显明,名称空间一时会一定长,输入起来很麻烦,那个时候能够在文件的顶端列出类的名称空间,来压缩输入:

2、循环

运维代码,结果如下:

常量的值必需能在编译时用于总计。

 就算咱们曾经定义了一个类(引用类型)People,并且有一个int类型的Age属性

例子:

名称

CTS类型

说明

范围

bool

System.Boolean

高精度浮点数

true/false

例子:

 

(二)变量

在C#声称变量使用语法:首先变量类型,然后空格,再是变量名,最终以分行截至。

 大家在switch语句中应用方面包车型大巴枚举:

3、预约义的引用类型

图片 7

for循环是预测量试验循环。for循环非常适合于一个话语或语句块重复实行预约次数。标准用法:

  • 只要类在某些意义域内,其字段(也成为成员变量)也在改作用域内;
  • 一对变量存在于表示注解该变量的块语句或情势甘休的右花括号此前的功效域内;
  • 在for、while或看似语句中宣示的片段变量存在于该循环体内。

名称

CTS类型

Char

System.Char

表示一个16位的(Unicode)字符

 

public enum TimeOfDay
{
    Morning = 0,
    Afternoon = 1,
    Evening = 2
}

简单解释以上代码:

for (int i = 0; i < 10; i++)
{
    Console.WriteLine(i);
}

开创三个调整台应用程序,然后输入代码,输入达成后点击F5

项目猜度使用 var
关键字。在行使var关键字张开变量申明时,必定要开始化,因为编写翻译器须要基于赋值实行项目测度。

例子:

C#支撑三种预订义的引用类型

运行代码,结果如下:

运行代码,结果如下:

图片 8

图片 9

switch..case语句适合于从一组互斥的分层中接纳贰个施行分支

名称

CTS类型

说明

范围

类型后缀

sbyte

System.SByte

8位有符号整数

 

 

short

System.Int16

16位有符号整数

 

 

int

System.Int32

32位有符号整数

 

 

long

System.Int64

64位有符号整数

 

L

byte

System.Byte

8位无符号整数

 

 

ushort

System.Uint16

16位有符号整数

 

 

uint

System.Uint32

32位有符号整数

 

U

ulong

System.Uint64

64位有符号整数

 

UL

(六)名称空间

4.foreach循环

3.do…while循环

int x = 10;

var x = 10;

C#次第时从点子Main()初叶施行的,这几个方法是类和协会的静态方法,而且重返类型只好是int和void

bool和整数值不可能互相隐式沟通。无法用0来代表False,也无法用非零来表示True.

以下语句注明了一个变量名称为x,变量类型为int的变量

3、变量的功效域

例子:

图片 10

int x;
Console.WriteLine(x);

2.break语句

 名称空间提供了一种集体相关类和另外项目的点子。与公事或机件不一致,名称空间是一种逻辑组合,并不是情理组合。

2.while循环

名称

CTS类型

说明

object

System.Object

根类型,CTS中的其他类型都是从它派生而来的(包括值类型)

string

System.String

Unicode字符串

//这是单行注释

相关文章