C# -- 《零基础学C#(全彩版)》Day1 -- 第1篇 基础知识
第1篇 基础知识
第一章 IDE--Visual Studio
在之前程序学习接触了Jetbrains的产品,其功能的强大、界面流畅度及其他编辑也是用该产品习惯等原因,所以主要使用 Rider进行C#的开发IDE。跳过Visual Studio的学习部分。
有关名词解释:
SDK : Software Development Kit的缩写,中文意思是“软件开发工具包”,辅助开发某一类软件的相关文档、实例和工具的集合都可以叫做SDK。、
编译: 把高级计算机语言编程计算机可以识别的二进制语言的过程。
C#简介:
C# 是一种面对对象的编程语言,主要用于开发运行在.Net平台上的应用程序,C#的语言体系都是构建在.NET框架上。C#是微软公司在2000年6月发布的一种编程语言,主要由Anders Hejlsberg(Delphi和Turbo Pascal语言的设计者)主持开发,主要微软公司为配合.NET战略推出的一种全新的编程语言。
C#语言特点:
1)语法简洁,不允许直接操作内存,去掉了指正操作。
2)彻底的面对对象涉及,C#具有面对对象语言所应有的一切特性:封装、继承和多肽。
3)与Web紧密结合,C#支持绝大多数的Web标准,例如HTML、XML等。
4)强大的安全机制,可以消除软件开发中常见的错误,.NET提供的垃圾回收器还能帮助开发者更有效的管理内存资源。
5)兼容性好,因为C#遵循.NET的公共语言规范(CLS),从而保证能够与其他语言开发的组件兼容。
6)完善的错误、异常处理机制,C#提供了完善的错误和异常处理机制,使程序在交付应用时能更加健壮。
认识 .NET Framework
.NET Framework 又称.NET框架,是完全面向对象的软件开发和运行平台,它有两个主要组件,分别是:公共语言运行时 (Common Languge Runtime, 简称 CLR)和类库,如下图:
- 公共语言运行时:负责管理和执行由.NET编译器编译产生的中间语言代码。CLR包含两部分内容,分别为CLS和CTS,CLS表示公共语言规范,是许多应用程序所需的一套基本语言功能,而CTS表示通用类型系统,定义了可以在中间语言中使用的预定义数据类型,所有面向.NET Framework的语言最终都可以生成基于这些类型的编译代码。
C#与 .NET Framework
.NET Framework 是一个开发平台,而C#是专门为与 .NET Framework一起使用而设计的一种编程语言,在 .NET Framework上开发时,可以使用多种开发语言,如C#、VB.NET、F等。
开发环境安装
此处省略
第二章 踏上C#开发的征程
编写第一个C#程序
程序中各个组成部分:
各个组成部分解释
1.命名空间
语法:
namespace 命名空间名称;
eg:
namespace Hello_World;
说明:一般不用自定义命名空间,在创建项目或者创建类文件时,开发环境会自动生成一个空间。
如果要调用某个命名空间里面的类,需要使用关键字 using 引用命名空间;
using Hello_World;
如果不想使用using指令引用命名空间,可以直接使用命名空间调用其中的类。
2.类
C#程序的主要功能代码都是在类中实现的,类是一种数据结构,可以封装数据成员、方法成员和其他的类。类是C#语言的核心和基本构成模块。C#支持自定义类,使用C#编程就是编写自己的类来描述实际需要解决的问题。
使用类之前都必须先进行声明,一个类一旦被声明,就可以作为一种新的类型来使用,在C#中通过class关键字来声明类:
class [类名]
{
[类中的代码]
}
3.关键字与标识符
C#常用关键字
标识符:
命名规则:
a、由字母、数字、下划线组成
b、第一个字符不能是下划线
c、不能是C#中的保留关键字
注意:严格区分大小写
4.Main方法
每一个C#程序中都必须包含一个Main方法,它是类体中的主方法,也叫入口方法。Main方法一般是创建项目时自动生成的,不用开发人员手动编写或修改,如需要修改,需要注意下面三个方面:
a、Main方法在类或结构内声明,必须是静态(static)的,而且不应该是公开(public)的;
b、Main的返回类型有两种:void或int;
c、Main方法可以包含命令行参数 string[] args,也可以不包括。
4种声明方式:
static void Main( string[] args) { }
static void Main( ) { }
static int Main( string[] args) { }
static int Main( ) {}
5. C#语句
语句是构造C#程序的基本单位,语句以分号终止。
Console类中与输入输出相关的方法:
方法 | 说明 | Tips |
---|---|---|
Read | 从标准流读入下一个字符 | 返回值为int类型 只能记录int类型的数据 |
ReadLine | 从标准流读入下一行字符 | 返回值为string类型 |
Write | 指定的值写入标准输出流 | 输出后不换行 |
WriteLine | 将当前行终止符写入标准输出流 | 输出后换行 |
6. 注释
// 单行注释
/*
多行注释
*/
程序编写规范
1.代码编写规则
- 尽量使用接口,然后使用类实现接口,以提高程序的灵活性
- 不要使用GOTO系列语句,除非是用在跳出深层循环时
- 避免编写超过5个参数的方法,如果要传递多个参数,则使用结构
- 避免书写代码量过大的try...catch 语句块
- 避免在同一个文件中编写多个类
- 生成和构建一个长的字符串时,一定要使用StringBuilder 类型,不用string类型
- switch语句一定要有default语句来处理意外情况
2.命名规范
两种命名方法:
Pascal命名法 大坨峰 --- 命名方法和类型
Camel命名法 小驼峰 -- 命名变量和方法的参数
命名注意:
有意义的名字定义命名空间
接口的名称前加前缀“I” Iconvertible
类名最好能体现类的功能或操作 Operation
方法的命名,一般为动宾短语 GetFile
定义成员变量最好加下划线前缀 _connectSting
常见的3种项目类型
控制台应用程序、Windows窗体应用程序、ASP.NET网站应用程序
第三章 C#语法
1.什么是变量
略
2.简单数据类型
C#中的数据类型根据定义可以分为两种:一种是值类型,另一种是引用类型。
2.1 整数类型
在C#中,整数类型有3种表现形式,十进制、八进制、十六进制
2.2 浮点类型
2.3 decimal类型
2.4 bool类型
2.5 字符类型
3 变量的初始化
3.2 变量的作用域
成员变量
局部变量
4.常量
5.运算符
算数运算符
自增自减运算符
赋值运算符
关系运算符
逻辑运算符
位运算符
移位运算符
条件运算符
6.数据类型转换
隐式转换
显示类型转换
使用Convert类进行转换
第四章
4.1 决策分支
在C#中有两种选择的结构语句,分别是if语句和switch语句
4.2 if语句
if...
if..else...
if...else if..else...
4.3 switch语句
switch(判断参数)
{
case 常量值1:
语句块1
break;
case 常量值2:
语句块2
break;
...
case 常量值3:
语句3;
break;
default:
语句块n+1;
break;
}
注意:
1)case后的各种常量不可以相同,否则会出现错误
2)case后面的语句块可以包含多条语句,不必使用大括号{}括起来
3)case语句和default语句的顺序可以改变,但不会影响程序的执行结果
4)一个switch语句中只能有一个default语句,而且default语句可以省略
4.4 while和do...while循环
while循环
do...while...循环
4.5 for循环
for(表达式1;表达式2;表达式3)
{
语句组
}
省略"表达式1"的情况,在for循环之前为循环条件赋值
for(;iNum <= 100;iNum++)
{
sum += iNum;
}
省略"表达式2"的情况,配合break语句等来结束循环
for(iNum = 1;;iNum++)
{
iSum += iNum;
}
// 相当于永真
省略"表达式3"的情况
for(iNum = 1;iNum <= 100;)
{
iSum += iNum;
iNum ++;
}
for循环中逗号的应用
在"表达式1"处为变量iNum和iSum同时赋初值。
for(iSum = 0, iNum = 1; iNum <= 100; iNum++)
{
iSum += iNum;
}
4.6 循环的嵌套
三种循环之间都可以相互嵌套。
4.7 跳转语句
break语句--跳出循环体
continue语句--结束本次循环
第5章 数组--批量数据处理
5.1 数组概述
数组是具有相同数据类型的一组数据的集合。
一个数组的定义需要包含一下几个要素:
- 元素类型
- 数组的维数
- 每个维数的上下限
5.2 一维数组
一维数组的创建
a、先声明,再用new关键字进行内存分配
// 声明一维数组
数组元素类型[] 数组名字;
数组声明后,还不能访问它的任何元素,要真正使用分配内存空间,还要为它分配内存空间。在为数组分配内存空间时,必须指明数组的长度。
// 数组分配内存空间,必须指定数组元素的类型和数组元素的个数
数组名字 = new 数组元素类型[数组元素的个数];
说明:使用new关键字为数组分配内存时,整型数组中各个元素的初始值都为0.
b、声明的同时为数组分配内存
数组元素类型[] 数组名 = new数组元素类型[数组元素的个数];
5.3 二维数组
a、二维数组的创建
二维数组常用于表示二维表,第一个下标代表元素所在的行,第二个下表代表元素所在的列
声明二维数组的语法如下:
type[,] arrayName;
type[][] arrayName;
eg:定义一个二维数组,分别为每一维分配内存空间
int[]][] = new int[2][];
a[0] = new int[2];
a[1] = new int[3];
// 由于每一维分配的内存空间不同,因此,a相当于一个不规则二维数组。
b、二维数组的初始化
二维数组的初始化只要分为三种:
- 为单个二维数组元素赋值
- 为每一维数组元素赋值
- 同时为整个二维数组赋值
为单个二维数组元素赋值:
本文来自博客园,作者:Zain·Wilson,转载请注明原文链接:https://www.cnblogs.com/ZainWilson/p/17948963