首页 > 编程语言 >掌握 C# 变量:在代码中声明、初始化和使用不同类型的综合指南

掌握 C# 变量:在代码中声明、初始化和使用不同类型的综合指南

时间:2024-01-17 20:38:20浏览次数:33  
标签:指南 初始化 Console 变量 C# int myNum WriteLine

C# 变量

变量是用于存储数据值的容器。

C# 中,有不同类型的变量(用不同的关键字定义),例如:

  • int - 存储整数(没有小数点的整数),如 123 或 -123
  • double - 存储浮点数,有小数点,如 19.99 或 -19.99
  • char - 存储单个字符,如 'a' 或 'B'。Char 值用单引号括起来
  • string - 存储文本,如 "Hello World"。String 值用双引号括起来
  • bool - 存储具有两个状态的值:truefalse

声明(创建)变量:
要创建一个变量,必须指定类型并为其赋值:

type variableName = value;

其中 typeC# 类型(例如 intstring),variableName 是变量的名称(例如 xname)。等号用于为变量赋值。

创建存储文本的变量:
创建一个名为 namestring 类型变量,并为其赋值 "John":

string name = "John";
Console.WriteLine(name);

创建存储数字的变量:
创建一个名为 myNumint 类型变量,并为其赋值 15:

int myNum = 15;
Console.WriteLine(myNum);

您还可以声明一个变量而不赋值,并在稍后赋值:

int myNum;
myNum = 15;
Console.WriteLine(myNum);

请注意,如果为现有变量赋一个新值,它将覆盖先前的值:

int myNum = 15;
myNum = 20; // myNum 现在是 20
Console.WriteLine(myNum);

其他类型:
演示如何声明其他类型的变量:

int myNum = 5;
double myDoubleNum = 5.99D;
char myLetter = 'D';
bool myBool = true;
string myText = "Hello";

C# 常量

如果您不希望其他人(或自己)覆盖现有值,可以在变量类型前添加 const 关键字。

这将声明变量为“常量”,这意味着它是不可更改且只读的:

const int myNum = 15;
myNum = 20; // 错误

当您希望一个变量始终存储相同的值,以防他人(或自己)破坏您的代码时,const 关键字非常有用。一个经常被称为常量的示例是 PI(3.14159...)。

注意: 您不能在不分配值的情况下声明常量变量。如果这样做,将会出现错误:A const field requires a value to be provided.

C# 显示变量

WriteLine() 方法通常用于将变量值显示到控制台窗口。

要将文本和变量结合起来,使用 + 字符:

string name = "John";
Console.WriteLine("Hello " + name);

您还可以使用 + 字符将一个变量添加到另一个变量:

string firstName = "John ";
string lastName = "Doe";
string fullName = firstName + lastName;
Console.WriteLine(fullName);

对于数值,+ 字符作为数学运算符(请注意,我们在此处使用 int(整数)变量):

int x = 5;
int y = 6;
Console.WriteLine(x + y); // 打印 x + y 的值

从上面的示例中,您可以预期:

  • x 存储值 5
  • y 存储值 6

然后我们使用 WriteLine() 方法来显示 x + y 的值,即 11

C# 多个变量

声明多个变量:

要声明同一类型的多个变量,请使用逗号分隔的列表:

int x = 5, y = 6, z = 50;
Console.WriteLine(x + y + z);

您还可以在一行上为多个变量赋相同的值:

int x, y, z;
x = y = z = 50;
Console.WriteLine(x + y + z);

在第一个示例中,我们声明了三个 int 类型的变量(xyz),并为它们赋了不同的值。在第二个示例中,我们声明了三个 int 类型的变量,然后将它们都赋予了相同的值 50。

C# 标识符

所有的 C# 变量都必须使用唯一的名称来标识。

这些唯一的名称被称为标识符。

标识符可以是简短的名称(如 xy)或更具描述性的名称(agesumtotalVolume)。

注意: 建议使用描述性名称,以创建易于理解和维护的代码:

// 好的
int minutesPerHour = 60;

// 可以,但不容易理解 m 实际上是什么
int m = 60;

命名变量的一般规则是:

  • 名称可以包含字母、数字和下划线字符(_
  • 名称必须以字母或下划线开头
  • 名称应以小写字母开头,不能包含空格
  • 名称区分大小写(myVarmyvar 是不同的变量)
  • 保留字(如 C# 关键字,如 intdouble)不能用作名称

最后

为了方便其他设备和平台的小伙伴观看往期文章:

微信公众号搜索:Let us Coding,关注后即可获取最新文章推送

看完如果觉得有帮助,欢迎 点赞、收藏、关注

标签:指南,初始化,Console,变量,C#,int,myNum,WriteLine
From: https://www.cnblogs.com/xiaowange/p/17971104

相关文章

  • 2024-01-17:lc的30. 串联所有单词的子串
    2024-01-17:用go语言,给定一个字符串s和一个字符串数组words。words中所有字符串长度相同。s中的串联子串是指一个包含words中所有字符串以任意顺序排列连接起来的子串。例如,如果words=["ab","cd","ef"],那么"abcdef","abefcd","cdabef","cdefab",&quo......
  • neicun(内存取证文件)
    任务2:内存取证序号任务描述答案1从内存中获取到用户admin的密码并且破解密码,以Flag{admin,password}形式提交(密码为6位);2获取当前系统ip地址及主机名,以Flag{ip:主机名}形式提交;3当前系统中存在的挖矿进程,请获取指向的矿池地址,以Flag{ip}形式提交;4......
  • Android平台Unity下如何通过WebCamTexture采集摄像头数据并推送至RTMP服务器或轻量级R
    技术背景我们在对接Unity下推送模块的时候,遇到这样的技术诉求,开发者希望在Android的Unity场景下,获取到前后摄像头的数据,并投递到RTMP服务器,实现低延迟的数据采集处理。在此之前,我们已经有了非常成熟的RTMP推送模块,也实现了Android平台Unity环境下的Camera场景采集,针对这个技术需求,......
  • docker 创建编译容器 rk3588
    创建ubuntu指定名称创建容器dockerrun-t-i-d-v/opt:/opt--nameubuntu2004ubuntu:20.04/bin/bash修改ustc镜像源sed-i's@//.*archive.ubuntu.com@//mirrors.ustc.edu.cn@g'/etc/apt/sources.listsed-i's/security.ubuntu.com/mirrors.ustc.edu.cn/g'......
  • socket
    socke简介我们知道两个进程如果需要进行通讯最基本的一个前提能能够唯一的标示一个进程,在本地进程通讯中我们可以使用PID来唯一标识一个进程但PID只在本地唯一,网络中的两个进程PID冲突几率很大,这时候我们需要另辟它径了,我们知道IP层的ip地址可以唯一标示主机,而TCP层协议和端口......
  • 玻尔兹曼-香农交互熵(Boltzmann–Shannon interaction entropy)及多尺度系列(Matlab版)
    玻尔兹曼-香农交互熵(Boltzmann–Shannoninteractionentropy)是2023年最新提出的一维时间序列的度量方式,在数据科学和机器学习领域有许多应用。(暂无任何文献应用报道)(matlab代码获取:https://mbd.pub/o/bread/mbd-ZZmclp1w)参考文献:https://doi.org/10.1063/5.0182349  ......
  • 手动监听nacos配置变更
    添加基于nacos配置中心的maven依赖<dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId><version>2.2.7.RELEASE</version></dependency>import......
  • BC实战后渗透之Bypass Applocker到提权
    0x01前言 提示:当个反面案例看就好,实际上拿下的方式远没有下文说的那么麻烦,只怪自己太心急… 本来是之前BC项目搞下来的一个推广站,当时只拿到了Shell权限是一个普通用户,想提权进一步收集服务器上的信息时,发现运行各种东西都是权限拒绝,提示组策略阻止了这个程序,当时因为还有的别......
  • P7424 [THUPC2017] 天天爱射击
    [THUPC2017]天天爱射击题目描述小C爱上了一款名字叫做《天天爱射击》的游戏。如图所示,这个游戏有一些平行于\(x\)轴的木板。现在有一些子弹,按顺序沿着\(y\)轴方向向这些木板射去。第\(i\)块木板被\(S_i\)个子弹贯穿以后,就会碎掉消失。一个子弹可以贯穿其弹道上的全部......
  • CF1633A题解
    Div.7题面翻译给定\(t\)组数据。每组数据给定一个数\(n\)(\(10\len\le999\))。每次操作可以修改\(n\)任意一位上的数,将这一位上的数修改为\(0\sim9\)之间的任意数。要求使用最少的修改次数使这个数修改后是\(7\)的倍数,并且没有多余的前导\(0\)。输出修改后的数,如......