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

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
可观测监控 Prometheus 版,每月50GB免费额度
应用实时监控服务-用户体验监控,每月100OCU免费额度
简介: 变量是用于存储数据值的容器。在 C# 中,有不同类型的变量(用不同的关键字定义),例如:int - 存储整数(没有小数点的整数),如 123 或 -123double - 存储浮点数,有小数点,如 19.99 或 -19.99char - 存储单个字符,如 'a' 或 'B'。Char 值用单引号括起来string - 存储文本,如 "Hello World"。String 值用双引号括起来bool - 存储具有两个状态的值:true 或 false

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

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

相关文章
|
1月前
|
缓存 C# Windows
C#程序如何编译成Native代码
【10月更文挑战第15天】在C#中,可以通过.NET Native和第三方工具(如Ngen.exe)将程序编译成Native代码,以提升性能和启动速度。.NET Native适用于UWP应用,而Ngen.exe则通过预编译托管程序集为本地机器代码来加速启动。不过,这些方法也可能增加编译时间和部署复杂度。
102 2
|
2月前
|
存储 C# 索引
C# 一分钟浅谈:变量与数据类型简介
【9月更文挑战第1天】在 C# 编程中,了解变量与数据类型至关重要。本文详细介绍了 C# 中的值类型(如整数、浮点数、布尔值等)和引用类型(如类、接口、数组、字符串)。通过示例代码展示了变量的声明与使用方法,并针对数据类型转换错误、变量未初始化及数值溢出等常见问题提供了解决方案。正确选择数据类型不仅能提升程序性能,还可避免潜在错误,有助于编写高质量代码。
130 47
|
26天前
|
编译器 C#
c# - 运算符<<不能应用于long和long类型的操作数
在C#中,左移运算符的第二个操作数必须是 `int`类型,因此需要将 `long`类型的位移计数显式转换为 `int`类型。这种转换需要注意数据丢失和负值处理的问题。通过本文的详细说明和示例代码,相信可以帮助你在实际开发中正确使用左移运算符。
31 3
|
25天前
|
编译器 C#
c# - 运算符<<不能应用于long和long类型的操作数
在C#中,左移运算符的第二个操作数必须是 `int`类型,因此需要将 `long`类型的位移计数显式转换为 `int`类型。这种转换需要注意数据丢失和负值处理的问题。通过本文的详细说明和示例代码,相信可以帮助你在实际开发中正确使用左移运算符。
37 1
|
24天前
|
编译器 C#
c# - 运算符<<不能应用于long和long类型的操作数
在C#中,左移运算符的第二个操作数必须是 `int`类型,因此需要将 `long`类型的位移计数显式转换为 `int`类型。这种转换需要注意数据丢失和负值处理的问题。通过本文的详细说明和示例代码,相信可以帮助你在实际开发中正确使用左移运算符。
12 0
|
1月前
|
C#
C# 图形验证码实现登录校验代码
C# 图形验证码实现登录校验代码
78 2
|
1月前
|
C#
C# 可空类型(Nullable)
C# 单问号 ? 与 双问号 ??
47 12
|
1月前
|
中间件 数据库连接 API
C#数据分表核心代码
C#数据分表核心代码
38 0
|
3月前
|
数据安全/隐私保护 C# UED
利用 Xamarin 开展企业级移动应用开发:从用户登录到客户管理,全面演示C#与Xamarin.Forms构建跨平台CRM应用的实战技巧与代码示例
【8月更文挑战第31天】利用 Xamarin 进行企业级移动应用开发能显著提升效率并确保高质量和高性能。Xamarin 的跨平台特性使得开发者可以通过单一的 C# 代码库构建 iOS、Android 和 Windows 应用,帮助企业快速推出产品并保持一致的用户体验。本文通过一个简单的 CRM 示例应用演示 Xamarin 的使用方法,并提供了具体的代码示例。该应用包括用户登录、客户列表显示和添加新客户等功能。此外,还介绍了如何增强应用的安全性、数据持久化、性能优化及可扩展性,从而构建出功能全面且体验良好的移动应用。
52 0
|
3月前
|
前端开发 开发者 Apache
揭秘Apache Wicket项目结构:如何打造Web应用的钢铁长城,告别混乱代码!
【8月更文挑战第31天】Apache Wicket凭借其组件化设计深受Java Web开发者青睐。本文详细解析了Wicket项目结构,帮助你构建可维护的大型Web应用。通过示例展示了如何使用Maven管理依赖,并组织页面、组件及业务逻辑,确保代码清晰易懂。Wicket提供的页面继承、组件重用等功能进一步增强了项目的可维护性和扩展性。掌握这些技巧,能够显著提升开发效率,构建更稳定的Web应用。
105 0