一、C#程序一般结构
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Hello World
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello World!");
Console.ReadLine();
}
}
}
1.命名空间
(1)方法调用
命名空间{.命名空间······}.类名.静态方法名(参数列表)
命名空间{.命名空间······}.实例名.方法名(参数列表)
(2)using关键字
- 1.作为引用指令,用于指定引用的命名空间
using System.Windows.Forms;
- 2.作为别名指令,用于简化命名空间层次的表达形式
using WinForm=System.Windows.Form;
- 3.作为语句,用于定义一个范围
Font font1 = new Font("Arial", 10.0f);
using (font1)
{......}
程序执行到“}”时,就会自动释放font1对象。
(3)常用类
2.Main方法
- 每个应用程序必须有一个入口点,入口方法名规定为Main。
- Main方法声明为public static,除非有特殊理由,一般不要更改Main方法的声明。
- Main方法的返回值只能是void或者int。
- Main方法可以放在任何一个类中。一个应用程序中必须有一个类包含Main方法。
二、注释
//单行注释
/*
多行注释
*/
三、数据类型
1.标识符
同C++
2.数据类型
- 值类型(栈):简单类型、枚举类型、结构类型、可空类型
- 引用类型(堆):类、接口、数组、委托
(1)简单类型·整型
类型 | 长度 | 符号 |
---|---|---|
sbyte | 1字节 | 有符号 |
byte | 1字节 | 无符号 |
short | 2字节 | 有符号 |
ushort | 2字节 | 无符号 |
int | 4字节 | 有符号 |
uint | 4字节 | 无符号 |
long | 8字节 | 有符号 |
ulong | 8字节 | 无符号 |
(2)浮点型
类型 | 长度 | 精度 |
---|---|---|
float | 4字节 | 7 |
double | 8字节 | 15~16 |
decimal | 16字节 | 28~29 |
(3)布尔型
bool类型只能取两个值:true和false。
注意:bool类型是单独的类型,true和false不等同于非0和0。
(4)字符类型
C#字符类型为Unicode编码,一个字符占2字节。
(5)匿名类型
不指定局部变量的类型,直接用var表示变量类型。
示例:
var student = new { Name = "张三", Age = 18 };
3.数据类型转换
(1)数据类型转换
(数据类型)变量名
可使用checked运算符检查数据类型转换是否安全。当出现丢失数据时,会抛出System.OverflowException异常。
long i = 500000000000;
int j = checked((int)i);
(2)装箱
装箱:给值类型在堆中分配一个对象实例,并将该值复制到新的对象中。
示例:
int i = 123;
object o = i;
(3)拆箱
拆箱:检查对象实例,确保它是给定值类型的一个装箱值,将改制从实例对象复制到值类型变量中。
示例:
int i = 123;
object box = i;
int j = (int)box;
4.运算符
同C++
四、基本输入输出
1.控制台输出
Console.Write();
Console.WriteLine();
2.控制台输入
ConsoleKeyInfo 变量名;
变量名 = Console.ReadKey();
数据类型 变量名 = Console.ReadLine();
3.格式化输出
Console.WriteLine("{N [, M][: 格式码]}", 变量名)
- N:参数序号(从0开始)
- M:最小输出长度(默认为0)。若参数N长度小于M,则用占位符填充(默认为空格);若M为负,则左对齐;若M为正,则右对齐。
- 格式码
格式符 | 作用 |
---|---|
C | 将数字按照金额形式输出 |
D | 输出十进制整数 |
F | 小数点后固定位数 |
0 | 0占位符 |
# | #占位符 |
五、分支
同C++
六、循环
同C++
C#特有:foreach语句
foreach(数据类型 标识符 in 表达式)
{
语句块
}