当前位置: 首页 > news >正文

C#基础知识-.NET,变量,容量单位,数据类型

目录

1.NET简介

2.变量

1)什么是变量

2)变量的声明

3)变量的赋值

3.容量单位

4.数据类型

4.1 值类型

1)整型(整数)

2)非整型(浮点型)

3)非数值型

4.2 引用类型

1)字符串

2)数组

3)类

4)接口

5)委托


       本篇文章来分享一下C#的基础知识,主要讲述一下变量和数据类型的相关知识。

1.NET简介

        .NET donet是Microsoft新一代多语言的开发平台,用于构建和运行应用程序。Unity借助Mono实现跨平台,核心是.NET Framework框架。

2.变量

1)什么是变量

       变量是用来存储和表示数据的一种方式(变量在程序运行时存储在内存中,变量实际上是分配给特定数据类型的内存空间,用于存储和操作数据)。

2)变量的声明

       在内存中开辟一块空间。变量类型 变量名;

int age;

        命名规则:

        ①由字母、数字和下划线组成,且不能以数字开头。

        ②不能使用保留关键字。

        ③建议命名规则,见名之意,以小写字母开头。如果包含多个单词,除第一个单词外其他单词首字母大写。


3)变量的赋值

       在该空间存储数据。变量名 = 数据;

age = 18;

        注意事项:

        1.局部变量在使用前必须赋值。

        2.赋值的数据类型和变量声明时的类型必须相同,同一变量名只能声明一次,但可以多次赋值。

        3.非整形变量赋值要加上后缀,如果不加默认为double

       4.浮点型运算会出现舍入误差,二进制无法精确表示1/10,就像十进制无法精准表示1/3,所以二进制表示十进制会有些舍入误差,对于精度要求较高的场合会导致代码的缺陷,可以使用decimal代替


3.容量单位

        位/比特/bit:电脑记忆体中的最小单位,每一位可以代表0或1

        字节Byte:电脑中存储的最小单位。1Byte=8bit

        网速10M:指的是Mbps(兆位/秒),是速率单位,换算成字节应该是10/8=1.25兆字节/秒

基本换算:
字节(Byte, B):
1Byte=8bit
千字节(Kilobyte, KB):1 KB = 1,024 Bytes
兆字节(Megabyte, MB):1 MB = 1,024 KB
吉字节(Gigabyte, GB):1 GB = 1,024 MB
泰字节(Terabyte, TB):1 TB = 1,024 GB

4.数据类型

        在C#中,数据类型主要分为两大类:值类型和引用类型。   

4.1 值类型

1)整型(整数)

        1个字节:有符号sbyte(-128~127),无符号byte(0~255)

        2个字节:有符号short(-32768~32767),无符号ushort(0~65535)

        4字节:有符号int,无符号uint

        8字节:有符号long,无符号ulong

2)非整型(浮点型)

        4字节:单精度浮点类型float,精度7位

        8字节:双精度浮点类型double,精度15-16位

        16字节:128位数据类型decimal,精度28-29位,适用于财务和货币计算

注意事项

        1.非整形变量赋值要加上后缀,如果不加默认为double。

        2.浮点型运算会出现舍入误差 bool number= 1.0f-0.9f == 0.1f. 二进制无法精确表示1/10,就像十进制无法精确表示1/3 所以二进制表示十进制会有一些舍入误差,对于精度要求较高 的场合会导致代码的缺陷,可以使用decimal代替。

3)非数值型

        char 字符,2字节,存储单个字符,使用单引号'a'。

        bool 类型,1字节,可以直接赋值true真、false假,或者赋表达式做判断。

        enum枚举,用于定义一组命名的整型常量。枚举的默认基础类型是int,第一个枚举成员的值默认为 0,后续成员的值依次递增。

        struct结构体,用于封装一组相关的数据。常用于表示小型数据结构。

4.2 引用类型

1)字符串

        string类型不可变的字符序列。

string greeting = "Hello";

2)数组

        通过[]定义的集合,可以是任意数据类型,可以存储固定长度的同一类型的元素,通过索引直接访问元素。

int[] numbers = { 1, 2, 3, 4, 5 };
for (int i = 0; i < numbers.Length; ++i)
{Console.WriteLine(number); // 输出: 1 2 3 4 5
}

3)类

        自定义引用类型,用class定义,可以包含字段、属性、方法和事件。使用new关键字创建实例,通过访问修饰符(如public、private)控制对类成员的访问。

class Animal
{private string name;public void Speak(){Console.WriteLine("Animal speaks");}
}

4)接口

        关键字为interface,接口定义了行为(方法)的规范,任何实现该接口的类都必须提供这些方法的具体实现。

interface IFlyable
{void Fly();
}class Bird : IFlyable
{public void Fly(){Console.WriteLine("Bird flies");}
}

5)委托

        关键字为delegate,表示对方法的引用,允许在运行时指定方法。常用于事件处理和回调函数。

delegate void Notify(string message);class Program
{static void Main(){Notify notify = ShowMessage;notify("Hello, World!"); //输出: Hello, World!}static void ShowMessage(string message){Console.WriteLine(message);}
}

        好了,本次的分享到这里就结束啦,希望对你有所帮助~

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • MATLAB系列05:自定义函数
  • android设置实现广告倒计时功能
  • 基于协同过滤+python+django+vue的音乐推荐系统
  • MVC应用单元测试以及请求参数的验证
  • 你必须知道的C语言问题(12)
  • Linux 基础IO 1
  • LeetCode746:使用花费最小爬楼梯
  • Flutter-底部选择弹窗(showModalBottomSheet)
  • BMC 虚拟i2c访问PCA9545(switch芯片)后面的设备,为什么找不到PCA9545?
  • Leetcode 470. 用 Rand7() 实现 Rand10()
  • 【linux】kill命令
  • 【Java面向对象二】static的注意事项
  • 滑动窗口算法专题(1)
  • 【24华为杯数模研赛赛题思路已出】国赛F题第二套思路丨附参考代码丨免费分享
  • 详解数据结构中的链表结构
  • 【347天】每日项目总结系列085(2018.01.18)
  • CentOS7 安装JDK
  • CSS盒模型深入
  • flutter的key在widget list的作用以及必要性
  • Java多态
  • Netty 框架总结「ChannelHandler 及 EventLoop」
  • vue-router 实现分析
  • 初识 webpack
  • 高度不固定时垂直居中
  • 机器学习中为什么要做归一化normalization
  • 警报:线上事故之CountDownLatch的威力
  • 离散点最小(凸)包围边界查找
  • 深度学习入门:10门免费线上课程推荐
  • 使用阿里云发布分布式网站,开发时候应该注意什么?
  • 用 Swift 编写面向协议的视图
  • 积累各种好的链接
  • #常见电池型号介绍 常见电池尺寸是多少【详解】
  • #知识分享#笔记#学习方法
  • (1综述)从零开始的嵌入式图像图像处理(PI+QT+OpenCV)实战演练
  • (八)五种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB
  • (附源码)计算机毕业设计ssm基于B_S的汽车售后服务管理系统
  • (附源码)计算机毕业设计SSM智能化管理的仓库管理
  • (回溯) LeetCode 77. 组合
  • (九)c52学习之旅-定时器
  • (收藏)Git和Repo扫盲——如何取得Android源代码
  • (转)Android学习系列(31)--App自动化之使用Ant编译项目多渠道打包
  • (转)GCC在C语言中内嵌汇编 asm __volatile__
  • (转)linux自定义开机启动服务和chkconfig使用方法
  • (转)项目管理杂谈-我所期望的新人
  • (最优化理论与方法)第二章最优化所需基础知识-第三节:重要凸集举例
  • .ai域名是什么后缀?
  • .bat批处理出现中文乱码的情况
  • .NET 8 中引入新的 IHostedLifecycleService 接口 实现定时任务
  • .NET Core、DNX、DNU、DNVM、MVC6学习资料
  • .NET Core实战项目之CMS 第一章 入门篇-开篇及总体规划
  • .NET MAUI学习笔记——2.构建第一个程序_初级篇
  • .net 无限分类
  • .NET 中 GetHashCode 的哈希值有多大概率会相同(哈希碰撞)
  • .NET3.5下用Lambda简化跨线程访问窗体控件,避免繁复的delegate,Invoke(转)
  • @SuppressWarnings注解