第二章 基础

1,helloworld示例:

helloworld.cs

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

 

namespace HelloWorld

{

class Program

{

static void Main(string[] args)

{

Console.WriteLine("Hello Wold. C#");

return;

}

}

}

使用csc helloworld.cs编译它

2,C#main函数

static void Main()

{

}

Main函数必须为静态类型,而且返回值不是void就是int

 

3,C#中的方法定义

[modifiers] return_type MethodName([parameters])

修饰符(modifiers):用于指定用户定义的某些方法的特性。

 

4,变量

变量的初始化:

  • 变量是类或者结构中的字段,如果没有显式初始化,创建这些变量时,值为0。
  • 方法的局部变量必须在代码中显式初始化才能使用,否则会报错。

 

5,类型推断

var name = value;

变量必须初始化,声明变量并推断出类型后类型不可改变。

 

6,变量的作用域

只要类在某个作用域内,字段也在该作用域内。

局部变量存在于表示声明该变量的块语句或方法结束的封闭花括号之前的作用域内。

同名的局部变量不能在同一作用域内声明两次,但是字段可以和局部变量同名。

6,常量

常量使用const修饰

常量必须在声明时初始化,然后值就不能改变了,

 

7,值类型和引用类型

值类型:存储在堆栈中,直接存储值

引用类型:存储在托管堆上,存储引用

 

8,预定义的值类型和引用类型

值类型:

  • 整型:

名称

CTS类型

说明

sbyte

System.SByte

8位有符号整数

short

System.Int16

16位有符号整数

int

System.Int32

32位有符号整数

long

System.Int64

64位有符号整数

byte

System.Byte

8位无符号整数

ushort

System.Uint16

16位无符号整数

uint

System.Uint32

32位无符号整数

ulong

System.Uint64

64位无符号整数

uint ui = 12U;

long l = 10L;

ulong ul = 123UL;

  • 浮点类型

名称

CTS类型

说明

位数

float

System.Single

32位单精度

7

double

System.Double

64位双精度

15/16

float f = 1.2F;

  • decimal类型

名称

CTS类型

说明

位数

decimal

System.Decimal

128位高精度十进制

28

decimal d = 1.2M;

  • bool类型

用于包含布尔值true和false

名称

CTS类型

说明

位数

bool

System.Boolean

true或者false

NA

注:bool类型不能和数值类型相互转换

  • 字符类型

名称

CTS类型

说明

位数

char

System.Char

表示一个16位Unicode字符

16

使用单引号表示单个字符

除了把char表示为字符字面量之外,还可以用4位十六进制的Unicode值如'\u0041'带有数据类型转换的整数值(char)65,或者十六进制数'\x0041'来表示他们。

转义序列

转义序列

字符

\'

单引号

\"

双引号

\\

反斜杠

\0

\a

警告

\b

退格

\f

换页

\n

换行

\r

回车

\t

水平制表

\v

垂直制表

 

引用类型

名称

CTS类型

说明

object

System.Object

根类型

string

System.String

Unicode字符串

string s = @"a\a"; @表示将后面的字符看成原来的意思

 

9,流控制

if(condition) statement(s);//condition必须为bool类型

 

switch…case

case值必须为常量表达式,不允许使用变量。可以把常量字符串用做测试变量。

必须使用break,除非case语句为空。

 

10,循环

for,while,do..while循环和C/C++相同

foreach循环:支持IEnumerable接口的对象。

例:

int[] a = {1,2,3,4,5};

foreach(int i in a)

{

//operation

}

每次迭代集合中的一个元素,不能改变元素。

 

11,跳转语句

goto:

goto Label1;

Lable1:

statements;

goto不能跳转到循环中,不能跳出类,不能退出finally

 

break

用于退出switch,for,foreach,while,do…while循环

continue

跳过当前迭代,用于for,foreach,while,do…while

return:返回

 

12,枚举

public enum A

{

    a = 0,

    b = 1,

    c = 2

}

 

13,数组

所有数组均为引用类型

声明:int[] a = new int[10];

 

14,命名空间

命名空间可嵌套。

不允许在另一个声明的命名空间中声明多部分的命名空间。

使用using语句引入命名空间。

使用using alias = NameSpace;声明命名空间的别名。

 

15,Main方法

Main方法的返回值必须为int或者void,使用string[] args输入参数。可以使用多个Main方法,编译时使用/main开关指定Main方法。

 

16,编译文件

使用/t或者/target选项指定文件类型,

/t:exe:控制台程序

/t:library:带清单的类库

/t:module:不带清单的类库

/t:winexe:Windows应用程序

/out:指定文件名

/out和/target必须位于文件名前。

 

17,控制台I/O

格式化结果:{n,w:Pm};

n:参数索引

w:宽度值,正值表示右对齐,负值表示左对齐,实际长度大于n无效

P:格式选项

m:精度

 

18,预处理指令

#define/#undef

 

条件编译:

#if

#elif

#else

#endif

 

#warning/#error

 

#pragma:抑制或者恢复警告

C#高级编程 (第六版) 学习 第二章:C#基础的更多相关文章

  1. C#高级编程 (第六版) 学习 第一章:.Net体系结构

    第一章 .Net体系结构 1,公共语言运行库(Common Language Runtime, CLR) .Net Framework的核心是其运行库的执行环境,称为公共语言运行库,或.Net运行库. ...

  2. C#高级编程 (第六版) 学习 第七章:委托和事件

    第七章 委托和事件 回调(callback)函数是Windows编程的一个重要方面,实际上是方法调用的指针,也称为函数指针. .Net以委托的形式实现了函数指针的概念,.Net的委托是类型安全的. 委 ...

  3. C#高级编程 (第六版) 学习 第六章:运算符和类型强制转换

    第六章 运算符和类型强制转换 1,运算符 类别 运算符 算术运算符 + - * / % 逻辑运算符 & | ^ ~ && || ! 字符串连接运算符 + 增量和减量运算符 ++ ...

  4. C#高级编程(第六版)学习:第三十一章:Windows窗体

    第三十一章 Windows窗体 创建Windows窗体应用程序 在文本编辑器中输入: /* * form.cs * a simple windows form * */ using System; u ...

  5. C#高级编程 (第六版) 学习 第五章:数组

    第五章 数组 1,简单数组 声明:int[] myArray; 初始化:myArray = new int[4]; 为数组分配内存. 还可以用如下的方法: int[] myArray = new in ...

  6. C#高级编程 (第六版) 学习 第四章:继承

    第四章 继承 1,继承的类型 实现继承: 一个类派生于一个基类型,拥有该基类型所有成员字段和函数. 接口继承 一个类型只继承了函数的签名,没有继承任何实现代码.   2,实现继承 class MyDe ...

  7. C#高级编程 (第六版) 学习 第三章:对象和类型

    第三章 对象和类型 1,类和结构 类存储在托管堆上 结构存储在堆栈上   2,类成员 类中的数据和函数称为类成员 数据成员 数据成员包括了字段.常量和事件   函数成员 方法:与某个类相关的函数,可以 ...

  8. 【转】apue《UNIX环境高级编程第三版》第一章答案详解

    原文网址:http://blog.csdn.net/hubbybob1/article/details/40859835 大家好,从这周开始学习apue<UNIX环境高级编程第三版>,在此 ...

  9. c#高级编程第七版 学习笔记 第二章 核心c#

    第二章 核心C# 本章内容: 声明变量 变量的初始化和作用域 C#的预定义数据类型 在c#程序中使用条件语句.循环和跳转语句执行流 枚举 名称空间 Main()方法 基本的命令行c#编译器选项 使用S ...

随机推荐

  1. Linux系统查找清理磁盘大文件

    本文主要介绍Linux系统磁盘使用空间不足时,如何查找大文件并进行清理的方法. 使用df-h检查一台服务器磁盘使用空间,发现磁盘已经使用了100%,其中/dev/mapper/vg_iavp-lv_r ...

  2. 树莓3B+_apt-get update && apt-get upgrade

    在Windows下安装软件,我们只需要有EXE文件,然后双击,下一步直接OK就可以了.但在LINUX下,不是这样的.每个LINUX的发行版,都会维护一个自己的软件仓库,我们常用的几乎所有软件都在这里面 ...

  3. 09-if判断语句

    https://www.liaoxuefeng.com/  廖雪峰的官方网站 hm_01_判断年龄.py 1 #!/usr/bin/env python3 # coding=utf-8 def mai ...

  4. Leecode刷题之旅-C语言/python-112 路径总和

    /* * @lc app=leetcode.cn id=112 lang=c * * [112] 路径总和 * * https://leetcode-cn.com/problems/path-sum/ ...

  5. anaconda安装包找不到

    Anaconda作为一个工具包集成管理工具,下载python工具包是很方便的,直接敲: conda install package_name 1 但是有时候安装一个工具包(如skimage)的时候,在 ...

  6. 20155203 2016-2017-3 《Java程序设计》第三周学习总结

    20155203 2016-2017-3 <Java程序设计>第三周学习总结 教材知识要点总结 第四章 文档主文档名必须与公开类名称相同.一个原始码中可以定义多个类,但是只能有一个公开类. ...

  7. 《阿里巴巴Java开发手册》代码格式部分应用——idea中checkstyle的使用教程

    <阿里巴巴Java开发手册>代码格式部分应用--idea中checkstyle的使用教程 1.<阿里巴巴Java开发手册> 这是阿里巴巴工程师送给各位软件工程师的宝典,就像开车 ...

  8. 20155217 《Java程序设计》第三次实验报告

    20155217 <Java程序设计>第三次实验报告 实验内容 XP基础 XP核心实践 相关工具 实验要求 没有Linux基础的同学建议先学习<Linux基础入门(新版)>&l ...

  9. Week6课下作业

    课本练习p2.96 p2.97 浮点数 float 单精度浮点数(32位) double 双精度浮点数(64位) 练习对应书上内容P78--P81页 知识点是IEEE浮点表示 符号(sign):s决定 ...

  10. day 12 列表字典 补充

    1.列表list的遍历 ##### while遍历 需要len(list) list = [11,22,33,44,55] len_list = len(list) i = 0 while i< ...