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,关注后即可获取最新文章推送

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

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

  1. <%!%>声明的变量和在<%%>中声明的变量的区别

    通过写一个demo,查看Jsp_Servlet源码可知: <%!%>声明的变量是类似类的成员变量,<%%>中的变量是方法中的变量. 参考博客: http://www.cnblo ...

  2. 【SQL】小心在循环中声明变量——浅析SQL变量作用域

    本文适用:T-SQL(SQL Server) 先看这个语句: --跑3圈 BEGIN --每圈都定义一个表变量,并插入一行 DECLARE @t TABLE(Col INT PRIMARY KEY) ...

  3. [改善Java代码]静态变量一定要先声明后赋值

    建议32: 静态变量一定要先声明后赋值 这标题看着让人很纳闷,什么叫做变量一定要先声明后赋值?Java中的变量不都是先声明后使用的吗?难道还能先使用后声明?能不能暂且不说,我们先来看一个例子,代码如下 ...

  4. Effective C++学习笔记:初始化列表中成员列出的顺序和它们在类中声明的顺序相同

    类成员的默认初始化顺序是按照声明顺序进行, 如果使用初始化列表初始化成员变量, 则必须按照成员变量的声明顺序进行; 否则, 在变量之间交替赋值时, 会产生, 未初始化的变量去赋值其他变量; 同时GCC ...

  5. java类成员变量与代码块初始化

    首先根据下面的这个一段代码:引入关于java初始化顺序的问题public class InitationTest extends Person { public InitationTest() { S ...

  6. JavaScript 中定义变量时有无var声明的区别

    关于JavaScript中定义变量时有无var声明的区别 var a=5; //正确 a=5; //正确 在javascript中,以上两种方法都是定义变量的正确方法.微软的Script56.CHM中 ...

  7. 面向对象设计中private,public,protected的访问控制原则及静态代码块的初始化顺序

    第一:private, public, protected访问标号的访问范围. private:只能由          1.该类中的函数          2.其友元函数访问 不能被任何其他访问,该 ...

  8. C++中类成员变量在初始化列表中的初始化顺序

    引子:我们知道,C++中类成员变量的初始化顺序与其在类中的声明顺序是有关的. 先看代码: class TestClass1 { public: TestClass1() { cout << ...

  9. 错误: 从内部类中访问本 地变量vvv; 需要被声明为最终类型

    从github 下载了源码, 进行编译, 出现了下面的错误 E:\downloads\ff\elasticsearch-master\elasticsearch-master>GRADLE :b ...

  10. iOS 在类实现定义中声明成员变量的怪异方式

    WebGL 规范(WebGL Specification) 太阳火神的漂亮人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致&quo ...

随机推荐

  1. queryset高级用法:select_related

    在提取某个模型的数据的同时,也提前将相关联的数据提取出来.比如提取文章数据,可以使用select_related将author信息提取出来,以后再次使用article.author的时候就不需要再次去 ...

  2. J-link虚拟串口波特率异常问题

    J-LINK V9以上自带了虚拟串口,使用非常方便. 但最近遇到问题,发现打开虚拟串口时电脑接收到的是乱码.到官网搜索了一下,发现最高波特率是115200,我使用的是256000,于是降低波特率. 官 ...

  3. 【Azure 应用服务】Azure Function 部署槽交换时,一不小心把预生产槽上的配置参数交换到生产槽上,引发生产错误

    问题描述 部署Function代码先到预生产槽中,进行测试后通过交换方式,把预生产槽中的代码交换到生产槽上,因为在预生产槽中的设置参数值与生产槽有不同,但是在交换的时候,没有仔细检查.导致在交换的时候 ...

  4. 【Azure 应用服务】部署WAR包到App Service访问出现404错误的解决方式

    问题描述 在Linux的App Service上,通过FTP把war文件和HTML静态文件上传到wwwroot目录下,静态文件访问成功,但是java应用中的请求都返回404错误 问题解决 因为FTP上 ...

  5. C++ //deque容器 构造函数 //deque赋值操作 //deque大小操作 //重新指定大小 //deque没有容量概念 //deque插入和删除 //deque 容器数据存取 ////deque 排序 sotr算法

    1 //deque容器 构造函数 //deque赋值操作 //deque大小操作 //重新指定大小 2 //deque没有容量概念 //deque插入和删除 //deque 容器数据存取 3 //// ...

  6. Zabbix“专家坐诊”第190期问答汇总

    问题一 Q:请问为啥用拓扑图监控交换机接口流量,获取不到数据,显示未知,键值也没错 ,最新数据也能看到,是什么原因呢? A:把第一个值改成主机名. 问题二 Q:请问下zabbix server 有什么 ...

  7. tomcat SSL安全连接配置简介

    tomcat中使用https提供服务,配置的方式有两种.生成或购买CA证书时会要求绑定域名.设置密码和证书别名(aliase). tomcat可用的证书列表里用三个文件: 方式一: <Conne ...

  8. cache 本地&分布式(-redis) & JSON对象转换

    本地缓存 最简单的cache, 做一个map就行 private final Map<String,List<User>> cache=new HashMap<>( ...

  9. vscode 合并分支 举例 master merge dev

    举例 将 dev 开发线 合并到 master 1 确定你在dev线,将dev代码改动全部提交 2 切换master,确定是最新代码,不确定就pull下,选择合并分支,见上图 3 在下拉的提示框中选择 ...

  10. In-batch negatives Embedding模型介绍与实践

    语义索引(可通俗理解为向量索引)技术是搜索引擎.推荐系统.广告系统在召回阶段的核心技术之一.语义索引模型的目标是:给定输入文本,模型可以从海量候选召回库中快速.准确地召回一批语义相关文本.语义索引模型 ...