C#高级编程 (第六版) 学习 第二章:C#基础
第二章 基础
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#基础的更多相关文章
- C#高级编程 (第六版) 学习 第一章:.Net体系结构
第一章 .Net体系结构 1,公共语言运行库(Common Language Runtime, CLR) .Net Framework的核心是其运行库的执行环境,称为公共语言运行库,或.Net运行库. ...
- C#高级编程 (第六版) 学习 第七章:委托和事件
第七章 委托和事件 回调(callback)函数是Windows编程的一个重要方面,实际上是方法调用的指针,也称为函数指针. .Net以委托的形式实现了函数指针的概念,.Net的委托是类型安全的. 委 ...
- C#高级编程 (第六版) 学习 第六章:运算符和类型强制转换
第六章 运算符和类型强制转换 1,运算符 类别 运算符 算术运算符 + - * / % 逻辑运算符 & | ^ ~ && || ! 字符串连接运算符 + 增量和减量运算符 ++ ...
- C#高级编程(第六版)学习:第三十一章:Windows窗体
第三十一章 Windows窗体 创建Windows窗体应用程序 在文本编辑器中输入: /* * form.cs * a simple windows form * */ using System; u ...
- C#高级编程 (第六版) 学习 第五章:数组
第五章 数组 1,简单数组 声明:int[] myArray; 初始化:myArray = new int[4]; 为数组分配内存. 还可以用如下的方法: int[] myArray = new in ...
- C#高级编程 (第六版) 学习 第四章:继承
第四章 继承 1,继承的类型 实现继承: 一个类派生于一个基类型,拥有该基类型所有成员字段和函数. 接口继承 一个类型只继承了函数的签名,没有继承任何实现代码. 2,实现继承 class MyDe ...
- C#高级编程 (第六版) 学习 第三章:对象和类型
第三章 对象和类型 1,类和结构 类存储在托管堆上 结构存储在堆栈上 2,类成员 类中的数据和函数称为类成员 数据成员 数据成员包括了字段.常量和事件 函数成员 方法:与某个类相关的函数,可以 ...
- 【转】apue《UNIX环境高级编程第三版》第一章答案详解
原文网址:http://blog.csdn.net/hubbybob1/article/details/40859835 大家好,从这周开始学习apue<UNIX环境高级编程第三版>,在此 ...
- c#高级编程第七版 学习笔记 第二章 核心c#
第二章 核心C# 本章内容: 声明变量 变量的初始化和作用域 C#的预定义数据类型 在c#程序中使用条件语句.循环和跳转语句执行流 枚举 名称空间 Main()方法 基本的命令行c#编译器选项 使用S ...
随机推荐
- MQTT入门1 -- mosquitto 安装
原文链接:https://www.cnblogs.com/NickQ/p/9247638.html MQTT入门1 -- mosquitto 安装 简介: MQTT(Message Queuing T ...
- Parallel Pattern Library(PPL)学习笔记
关于PPL是什么,可以搜索关键字MSDN PPL了解详情.这里谈一下困扰自己好一阵子的一个地方--task chain中抛出异常的处理,一来可为其他码农同行参考,二来给自己做个记录,以免日后忘却. V ...
- 并查集(模板&典型例题整理)
参考:https://blog.csdn.net/oliver233/article/details/70162173 带路径压缩模板: #include<stdio.h> ]; int ...
- 20155204 2016-2017-2 《Java程序设计》第4周学习总结
20155204 2016-2017-2 <Java程序设计>第4周学习总结 教材学习内容总结 继承是类与类之间的联系,接口是方法与类之间的联系,多态就是指利用接口和继承来派生许多类. 有 ...
- 20155315 2016-2017-2 《Java程序设计》第二周学习总结
教材学习内容总结 在教材中,有一句话叫做 伪代码是最好的注释. 一开始我不理解什么是伪代码,但在参考了百度和C语言的学习过程后,我发现伪代码的作用就相当于是解决问题前期的流程图设计,伪代码设计好了之后 ...
- C#基础之Equals和Dispose
1.equal()和运算符==的区别 由于C#中有值类型和引用类型,那么相等也分为值相等和引用相等.先来看一个值类型简单的例子,顺便也写了string类型的比较. static void Main(s ...
- day1 post验证登录
用post方式模拟 1.登录抽屉网 2.登录代码 ,URL,Form Data 中的信息写入 # coding=utf-8 #post 登录验证 import requests form_data = ...
- 用phpcms如何将静态页面制作成企业网站(上)
首先,先要准备好这个静态网页的源文件,如图 bs里面是一些css和js的文件,img则是放图片的,文件中的index是网页的首页 运行一下,看看 是这样的 然后打开phpcms文件,上篇博客中有提到, ...
- php实现图形计算器
存档: index.php <html> <head> <title>图形计算器开发</title> <meta http-equiv=" ...
- oracle数据库应用性能优化经验(培训讲义)
这是我给公司同事做的内部培训ppt的讲义,给大家分享一下.这是培训大纲,ppt在找地方上传,等找到了会把链接发在这里 . 暂时放在csdn上,赚点下载积分:https://download.csdn. ...