var和const 和可空类型

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace _04_var和const
{
    internal class Program
    {
        static void Main(string[] args)
        {
            // var 关键字用来声明变量
            // var 不是一个数据类型 也没有固定的数据类型
            // var 关键字声明的变量  类型需要通过初始化的数据推断得到
            //var d; d没有初始化数据 不能确定其数据类型
            // C#是强类型语言 任何数据都需要有明确的声明类型

            // 当我们不太确定一个数据类型时  或者 数据的类型关键字想要简写时 我们可以使用var关键字声明变量

            // const 关键字用来声明常量 const也不是数据的类型
           // 常量是有固定的值 常量不能修改
           //常量就是在变量的前面加const 关键字
            const int a = 10;
            //a = 20; // 错误 常量不能修改

            /*
             * var 关键字声明的变量  
             * var 关键字不是数据类型
             * var 关键字声明的变量  类型需要通过初始化的数据推断得到
             * var 声明的变量必须有初始化数据
             * 使用场景
               // 当我们不太确定一个数据类型时  或者 数据的类型关键字想要简写时 我们可以使用var关键字声明变量
              const
            1. const 用来声明常量
            2. 在声明变量的前面加const关键字 后变量就变成了常量
            3. 常量是有固定的值 常量不能修改
            
            变量和常量都是用来存储数据的,但是变量存储的数据可以修改,常量存储的数据不允许被修改

            var 变量
            const 常量
             */
        }
    }
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace _05_可空类型
{
    internal class Program
    {
        static void Main(string[] args)
        {
            // null 就是空
            // 可空类型就是指变量的值可以为 null 的类型

            //int a = null;
            // 值类型数据想要变成可空类型就需要在类型关键字的后面加?
            int? b = null;
            //int c = b *2;可空类型不能直接变为不同类型
            //Console.WriteLine((int)b); null 强转会报错
            // 引用类型数据都可以为 null

            //Person person = null;
            //string str = null;

            //可控类型在使用时需要确定变量是否为空
            //?? 用来判断数据是否为空 如果 ?? 前面的数据为空 就返回 ?? 后面的数据 如果??前面的数据不为空则返回前面的数据
            int c = b?? 0; // 如果 b 为 null 则返回 0
            //如果要在数据为空和不为空时执行指定的逻辑可以使用下面的方法
            if (b == null)
            {
                // 数据为空的逻辑
            }
            else
            {
                // 数据不为空的逻辑
            }
            Console.WriteLine(c);

          Console.ReadLine ();
            /*
             * 值类型变量,存储的数据不能为空,引用类型变量,存储的数据可以为空
             * 值类型变量想要存储nu11 则需要将类型改为可空类型,即在类型关键字后面加??
             * 可空类型不能和普通类型相互转化,可空类型在使用时首先要判断数据是否为空
             
             */

        }
    }
    class Person
    {

    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值