C# Lesson 03 : C#数据类型--值类型

0 基础

C#语言的数据类型分为两种:

  1. 值类型
  2. 引用类型

值类型有

  • 简单类型:整数(int)、浮点(float)、实数、字符型(char ' ' 注意是单引号)、布尔(bool)
  • 复合类型:结构、枚举

引用类型:

  • 类、接口、数组、委托

 

简单理解值类型就是说给你分配寄存器地址,让你在寄存器里存起来,调用的时候直接调用名称即可

引用类型,拿数组字符串来说,你调用变量名实际调用的是变量的首地址(C#还没学会,C也快忘光了)

一、整数类型

1.1 int类型的注意事项

int类型的默认值为0

在int类型中,数据初始化时,与数据库打交道,有时我们会把int型数据赋值为 null,但是如果直接赋值,肯定会报错,可以在int后边加上 一个问号:

(此问号是为数据库设计的)

int? number = null;

1.2 long类型为什么要加L

  • 使用L后置字符时,系统会根据整数值的大小,判断它是long还是ulong,在小于ulong的范围则将其视为long类型
  • 如果仅仅是声明 long number = 5300100500,超过uint的范围,则编译器会参照int,uint,long,ulong的适用范围来找,会降低程序的效率。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using static System.Console;

namespace Lesson03
{
    class Program
    {
        static void Main(string[] args)
        {
            int num1 = 123456;
            long num2 = 456_789_123L;
            float num22 = 456.789123f;
            long max = Int64.MaxValue;
            long min = Int64.MinValue;
            int num3 = 0b1011_110;//千位分隔符,C#7.0开始支持
            //int num4 = 0b_1111_110;//C#7.2开始支持使用下划线作为二进制或者十六进制的前导符
            int num5 = 0xFB12;//
            //int num5 = 0x_FB12;
            WriteLine($"Number :\n {num1:N0},\n {num2:n0},\n {num22:n0}");//
            WriteLine($"二进制转换为十进制 : {num3:D5},{num5:D5}");
            WriteLine($".NET Framework类型 : {num1.GetType()}");
            ReadKey();
        }
    }
}

1.3 short 注意事项

编译器默认整数为 int 型,当short类型的数据相加就会报错

short num1 = 50;
short num2 = 78;
//short num3 = (num1 + num2);
short num3 = (short)(num1 + num2);

二、浮点型

如果一个小数后边没有加 f 或者 d,默认是double类型

如果希望一个小数被当做成decimal类型使用,必须要使用后缀m或M

三、布尔类型

布尔类型主要用来表示true、false值,C#中定义布尔类型时,需要使用bool关键字。

bool类型的默认值是false  ( bool赋值时只能赋值true或false ),C#中布尔的值无法像C++中那样以数值进行转化

bool bu1 = true;
//bool bu2 = 1; // C#中布尔的值无法像C++中那样以数值进行转化

四、字符类型

(c#语言中,使用char/Char类定义字符,并且字符只能用单引号 - 注意书写的时候 是单引号)

只能定义单个字符,不能写多个字符 !!!!

char类型实际上存储的是数字,所以把两个char变量加载一起也会得到有个数字(其类型为int),原因是隐式类型转换。。。

            Char chM = 'M';
            int num1 = (int)chM;
            int num2 = 78;
            WriteLine($"{num1:D5}");
            ReadKey();

五、字符串

(1)转义字符  \ ,在c#中如果想输出 \ 需要 \\ 再加一个反斜线

(2)转义字符小技巧:

@在字符串类型中如果想输出多个\ ,在字符串前边添加@符号即可,就不需要添加\\ 两个反斜线转义后边的反斜杠了:

 

 

 

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值