C#程序基本结构及常用变量 C#学习杂记(一)

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#是严格区分大小写的语言。

猜你喜欢

转载自blog.csdn.net/qq_40385747/article/details/108842982