C# 学习第二弹

一、变量

存储区(内存)中的一个存储单元

(一)变量的声明和初始化

1、声明变量——根据类型分配空间

①声明变量的方式

—变量类型 变量名 = 数值;

—变量类型 变量名;

变量名 = 数值;

—变量类型 变量1,变量2,变量3;

竟然可以用汉字,但是非常不建议用!!!!

namespace Demo2
{
    class Program
    {
        static void Main(string[] args)
        {
            //声明变量的方式
            int money = 100;
            int mon2;
            mon2 = 200;
            int m1, m2, m3, m4;
            int 往 = 2;
        }
    }
}

 ② 变量的命名规则

首字母:字母/下划线

其余部分:任意数字/字母/下划线

变量的基本要求:简短且能清楚的表明变量的作用,通常第一个单词首字母小写,其余单词首字母大写。

变量名不能与C# 关键字冲突

变量区分大小写

2、初始化变量——将数据存入内存空间

①单独初始化变量

②声明时初始化变量

③同时初始化多个变量 

变量的作用域

静态变量使用类名引用

实例变量使用类对象引用

类内:静态变量随类的创建而创建,实例变量随对象的创建而创建;静态方法不能调用实例变量,需将类实例化之后再调用,非静态方法可以调用静态变量和实例变量。

类之间:静态方法可直接调用,非静态方法需实例化类之后再调用;

public class MyClass
    {
        // 静态变量  
        public static int StaticVar = 0;

        // 实例变量  
        public int InstanceVar = 0;

        // 静态方法  
        public static void StaticMethod()
        {
            // 可以访问和修改静态变量  
            StaticVar = 10;

            // 不能直接访问实例变量,除非通过对象实例  
            // MyClass instance = new MyClass();  
            // instance.InstanceVar = 20; // 这样是可以的,但通常不是静态方法的做法  
        }

        // 非静态方法(实例方法)  
        public void InstanceMethod()
        {
            // 可以访问和修改实例变量和静态变量  
            InstanceVar = 20;
            StaticVar = 30;
        }
    }

    class Program1
    {
        static void Main()
        {
            // 静态方法调用,不需要实例化对象  
            MyClass.StaticMethod();

            // 实例化对象  
            MyClass instance = new MyClass();

            // 调用非静态方法  
            instance.InstanceMethod();

            // 访问静态和非静态变量  
            Console.WriteLine("StaticVar: " + MyClass.StaticVar); // 输出: 30  
            Console.WriteLine("InstanceVar: " + instance.InstanceVar); // 输出: 20  
        }
    }
Console.WriteLine("欢迎来到90年代!\n");
Console.WriteLine("请输入用户名:");
string x = Console.ReadLine();
Console.WriteLine("当前用户名为:" + x);
Console.Read();

3、使用变量——取出数据使用

注意:使用变量前要进行初始化,变量名规则

(二)数据类型

1、值类型——值类型直接存储

(1) 简单类型

①整数类型

②浮点类型

强制转换使用f或d,默认为double类型。

------decimal类型(财务/货币计算)

decimal类型表示128位数据类型,是一种精度更高的浮点类型,精度可以达到28位,取值范围为\pm 1.0\times 10^{-28} \sim \pm7.9\times10^{28}。如果希望一个小数被当成decimal类型使用,需要使用后缀m或M。

decimal d = 3.2m;

 ③布尔类型

2、引用类型 ——存储对值的引用

①object类型

object类是所有类的基类。

②string类型

简化字符串操作。

string类型的变量一旦初始化之后,值不会发生改变。

3、值类型和引用类型的区别

例:

3、枚举类型

 枚举是一组描述性的名称

枚举定义一组有限的值,不能包含方法

对可能的值进行约束

枚举允许描述行名称表示整数值

4、类型转换

(1)隐式类型转换

①两种类型兼容
②目标类型精度大于源类型

char类型可以隐式的转换成整型和浮点数类型。其他类型无法隐式的转换为char类型。

 (2)显式类型转换(前置类型转换)高精度->低精度

①(类型名)表达式

int b = (int)10.2

 int类型最大取值范围为2147483647出现溢出。

 ②Convert.To类型名(表达式)

当发生溢出的时候会提示报错,而不是负数。

③类型名.Parse(表达式),只适用于数值类型的转换

(3)装箱和拆箱——值类型和引用类型的转换 

拆箱的类型应该与原类型一致 !!!

int i = 10;
object obj = i;
int j = (int)obj;

 二、常量

(一)常量的定义和分类

1、定义:不能被改变的量

2、分类

编译时常量const:

运行时常量readonly:不能定义在构造方法中,只能定义在类体内.

const初始化之后值不变,语句顺序不影响运行结果。 readonly没初始化之前值为0。

 三、变量与常量的区别

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/412133.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

使用R语言进行主成分和因子分析

一、数据描述 数据来源2013年各地区水泥制造业规模以上企业的各主要经济指标,原始数据来源于2014年(《中国水泥统计年鉴》),试对用主成分和因子进行经济效益评价。 地区,企业个数(亿元),流动资产合计&…

python Matplotlib Tkinter-->最终框架一

3D雷达上位机实例(能够通过点击柱状图来展示3D雷达数据)2024.2.26 环境 python:python-3.12.0-amd64 包: matplotlib 3.8.2 pillow 10.1.0 import matplotlib.pyplot as plt from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg, NavigationToolbar2Tk impor…

基于Springboot + Vue 母婴商城系统

末尾获取源码作者介绍:大家好,我是墨韵,本人4年开发经验,专注定制项目开发 更多项目:CSDN主页YAML墨韵 学如逆水行舟,不进则退。学习如赶路,不能慢一步。 目录 一、项目简介 二、开发技术与环…

基于Java SSM框架实现驾校预约管理系统项目【项目源码+论文说明】计算机毕业设计

基于java的SSM框架实现驾校预约管理系统演示 摘要 随着科学技术的飞速发展,各行各业都在努力与现代先进技术接轨,通过科技手段提高自身的优势,驾校预约管理系统当然也不能排除在外,随着网络市场的不断成熟,带动了驾校…

【BUG 记录】史诗级 BUG - MYSQL 删库删表却没有备份如何恢复数据

【BUG 记录】史诗级 BUG - MYSQL 删库删表却没有备份如何恢复数据 1. 问题描述2. 解决方案(binlog)2.1 构造测试环境2.2 查看 MySQL 环境是否开启 binlog2.3 查看所有的 binlog 日志记录2.4 查看当前正在使用的是哪一个 binlog 文件2.5 查看此时的 binlo…

设计并实现一个并发安全的LRU(Least Recently Used,最近最少使用)缓存结构

文章目录 前言实战演示写在最后 前言 相信很多人都使用过LinkedHashMap,LinkedHashMap中的removeEldestEntry可以删除老旧的元素,我们可以以此来实现一个LRU缓存结构,并结合java中JUC包中的各种多线程锁机制来保证多线程安全。 以下是我遇见…

C# OpenCvSharp DNN Yolov8-OBB 旋转目标检测

目录 效果 模型信息 项目 代码 下载 C# OpenCvSharp DNN Yolov8-OBB 旋转目标检测 效果 模型信息 Model Properties ------------------------- date:2024-02-26T08:38:44.171849 description:Ultralytics YOLOv8s-obb model trained on runs/DOT…

Windows常用协议

LLMNR 1. LLMNR 简介 链路本地多播名称解析(LLMNR)是一个基于域名系统(DNS)数据包格式的协议,可用于解析局域网中本地链路上的主机名称。它可以很好地支持IPv4和IPv6,是仅次于DNS 解析的名称解析协议。 2.LLMNR 解析过程 当本地hosts 和 DNS解析 当本地hosts 和 …

Linux浅学笔记04

目录 Linux实用操作 Linux系统下载软件 yum命令 apt systemctl命令 ln命令 日期和时区 IP地址 主机名 网络传输-下载和网络请求 ping命令 wget命令 curl命令 网络传输-端口 进程 ps 命令 关闭进程命令: 主机状态监控命令 磁盘信息监控&#xff1a…

2018-02-14 新闻内容爬虫【上学时做论文自己爬新闻数据,原谅我自己懒发的图片】

2018-02-14新闻内容爬虫【上学时做论文自己爬新闻数据,原谅我自己懒发的图片】资源-CSDN文库https://download.csdn.net/download/liuzhuchen/88878591爬虫过的站点: 1QQ新闻 1,准备爬取滚动新闻页面 2 通过F12 开发工具查找发现&#xff…

Qt项目:网络1

文章目录 项目:网路项目1:主机信息查询1.1 QHostInfo类和QNetworkInterface类1.2 主机信息查询项目实现 项目2:基于HTTP的网络应用程序2.1 项目中用到的函数详解2.2 主要源码 项目:网路 项目1:主机信息查询 使用QHostI…

SIMON 32/64加密电路的实现(System Verilog)

关于SIMON加密电路的原理,参考之前发布的博文【SIMON加密算法的原理】 1.总览与电路介绍 1.1 电路总体结构图 1.2 模式配置介绍 SIMON加密算法的分组长度、密钥长度以及必要的参数配置如下图: 本次需要实现的是SIMON 32/64,即分组长度2n3…

【数据结构】B树,B+树,B*树

文章目录 一、B树1.B树的定义2.B树的插入3.B树的中序遍历 二、B树和B*树1.B树的定义2.B树的插入3.B*树的定义4.B树系列总结 三、B树与B树的应用 一、B树 1.B树的定义 1. 在内存中搜索效率高的数据结构有AVL树,红黑树,哈希表等,但这是在内存…

Stable Diffusion 绘画入门教程(webui)-ControlNet(Shuffle)

Shuffle(随机洗牌),这个预处理器会把参考图的颜色打乱搅拌到一起,然后重新组合的方式重新生成一张图,可以想象出来这是一个整体风格控制的处理器。 那么问题来了,官方为啥会设计个这样的处理器呢,主要是给懒人用的&am…

Atcoder ABC341 E - Alternating String

Alternating String(交替字符串) 时间限制:3s 内存限制:1024MB 【原题地址】 所有图片源自Atcoder,题目译文源自脚本Atcoder Better! 点击此处跳转至原题 【问题描述】 【输入格式】 每个查询 q u e r y i query…

STM32存储左右互搏 QSPI总线FATS文件读写FLASH W25QXX

STM32存储左右互搏 QSPI总线FATS文件读写FLASH W25QXX FLASH是常用的一种非易失存储单元,W25QXX系列Flash有不同容量的型号,如W25Q64的容量为64Mbit,也就是8MByte。这里介绍STM32CUBEIDE开发平台HAL库Quad SPI总线实现FATS文件操作W25Q各型号…

Vue笔记(一)

常用指令 1.v-show与v-if底层原理的区别 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>创建一个V…

快速搭建宠物医院服务小程序的步骤,无需编程经验

如果你是一家宠物医院或者宠物服务机构&#xff0c;想要拥有一款方便用户预约、查询信息的小程序&#xff0c;那么乔拓云网提供的轻应用小程序是你的不二选择。下面将为你详细介绍如何轻松打造宠物医院服务小程序。 1. 进入乔拓云网后台&#xff0c;点击【轻应用小程序】中的【…

国产服务器操作系统

为何记录 最近的开发工作经常接触到国产服务器操作系统的业务&#xff0c;经常被x86、arm、龙芯、鲲鹏、欧拉...搞得一脸懵逼&#xff0c;遂记之&#xff01; 操作系统 这里按照应用场景分&#xff1a; 桌面操作系统&#xff1a;主要用于pc&#xff0c;如Windows、macOS、Li…

★【递归】【构造二叉树】Leetcode 106.从中序与后序遍历序列构造二叉树

★【递归】【构造二叉树】Leetcode 106.从中序与后序遍历序列构造二叉树 105. 从前序与中序遍历序列构造二叉树 106.从中序与后序遍历序列构造二叉树:star:思路分析递归解法 105. 从前序与中序遍历序列构造二叉树递归解法 ---------------&#x1f388;&#x1f388;题目链接&a…