1、C#程序基本结构
第一步,创建一个C#新项目
VS会自动生成一些基础的代码
using System;//引用命名空间
namespace boke_01//定义命名空间
{
class Program//定义类
{
static void Main(string[] args)//定义方法,这里是创建项目时自动创建好的主程序方法
{
//程序的入口点
}
}
}
首先认识Main函数,它是程序的入口,一般情况下一个项目只能有一个Main函数,否则会通不过编译,而且Main函数必须是静态(带有static关键字)
C#的输入输出方法
static void Main(string[] args)
{
//输出
Console.WriteLine("hello C# !");
//输入
//Console.ReadLine会返回string类型,一般会声明一个string类型变量来接收
string input = Console.ReadLine();
}
2、C#常用变量类型
(1)值类型(Value types)
值类型变量可以直接分配给一个值。它们是从类 System.ValueType 中派生的。
bool boke;//bool值,值为true或者false,默认为false
char s = 'a';//字符类型
int num = 2;//32位,整数类型
long num1 = 2;//64位,整数类型
float number = 2.3f;//单精度浮点型,f 表示float类型
double number1 = 4.6d;//双精度浮点型,d 表示double类型
byte byte_b = 2;//byte类型,0-255,此语句中其实是将整数 1 隐式转换为byte类型
(2)引用类型(Reference types)
引用类型不包含存储在变量中的实际数据,它们指的是一个内存位置。使用多个变量时,引用类型可以指向一个内存位置。如果内存位置的数据是由一个变量改变的,其他变量会自动反映这种值的变化。内置的 引用类型有:object、dynamic 和 string。
[1] object类型·
在C#中,Object类型是所有类型的根,Object 数据类型可以指向任意数据类型的数据
object obj = "cxk";
object obj1 = 123;
但是要注意:当一个值类型转换为对象类型时,则被称为 装箱;另一方面,当一个对象类型转换为值类型时,则被称为 拆箱。
Object类型用起来虽然比较方便,但是拆装箱操作比较消耗性能,要看情况使用。
[2] 动态(Dynamic)类型
可以存储任何类型的值在动态数据类型变量中。这些变量的类型检查是在运行时发生的。
dynamic dy = "dsfsd";//动态类型
动态类型最常用的是从来存储 json 数据。
[3] 字符串(String)类型
string str = "lay";//字符串类型
//表示路径的时候,前面加@,将‘/’当成普通字符处理,否则可能会识别为转义符
string path = @"C:\Users\Public\Desktop\腾讯QQ.lnk";
[4] 指针类型
当一个代码块使用 unsafe 修饰符标记时,C# 允许在函数中使用指针变量。
但是这属于不安全代码。
static unsafe void Main(string[] args)
{
int p1 = 20;
int* p = &p1;//将地址赋给指针
}
static void Main(string[] args)
{
unsafe
{
int p1 = 20;
int* p = &p1;//将地址赋给指针
}
}
需要注意的是,C#是严格区分大小写的语言。