【C#基础】C# 变量与常量的使用

这篇具有很好参考价值的文章主要介绍了【C#基础】C# 变量与常量的使用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

序号 系列文章
1 【C#基础】C# 程序通用结构
2 【C#基础】C# 基础语法解析
3 【C#基础】C# 数据类型总结

前言

😄大家好,我是writer桑,前面一章已经学习了 C# 的数据类型,那本章就开始学习C# 程序中变量与常量的使用,希望看完大家能够有所收获,感谢支持!


一. 变量(variable)

变量用来存储信息,而变量名就是一个供程序操作存储区的名字。每个变量都有一个特定的类型,类型决定了变量内存的大小和布局, 变量的值存储在内存中,在允许的范围内可以对变量进行一系列的操作。

1,变量定义及初始化

C# 变量定义的语法: <data_type> <variable_name>;

  • data_type 也即变量的类型,这里必须是一个合法的 C# 数据类型 。
  • variable_name 表示变量名称,通过赋值将数据和可描述的变量名连接起来,同时变量的声明必须是有效的 C# 标识符。

一些有效的变量定义示例代码:

// 整数、字符、浮点数、字符串类型的定义; 
int i, j, k;    
char c, ch;     
float f, salary;    
string s;

变量初始化赋值语法:<data_type> <variable_name> = value;

  • 其中 value 表示常量表达式,使用等号将初始值和变量名连接
  • 对于在获取变量的值之前,都需要对该变量进行明确赋值,输出未赋值的变量时编译器会报错误。
  • 变量在定义时分为初始赋值或者初始未赋值,笔者建议声明变量时进行赋值,详细的理由请查看第12条建议;

我们可以在变量定义时进行初始化:

// 定义变量并初始化 
int i = 11; 
char c = 'A';
float f = 1.1f;
string s = "hello,world"; 

2,变量的类别

C # 定义了七种类型的变量:静态变量、实例变量、数组元素、值参数、引用参数、输出参数和局部变量。 下面分别介绍其中每个类别。

代码理解:

class Example
{
    public static int x;
    int y;

    void ExampleMethod(int[] v, int a, ref int b, out int c)
    {
        int i = 1;
        c = a + b++;
    }
}

x 是静态变量, y 是实例变量, v[0] 是数组元素,a 是值参数, b 是引用参数,c 是输出参数, i 是局部变量。

静态变量:

在 C# 程序中使用 static 关键字声明的字段为静态变量,静态变量它不需要实例化对象来引用,可以直接使用类名来引用。静态变量的默认值是变量类型的默认值0, 同时静态变量随着所属应用程序的结束而停止存在。

实例变量:

没有用 static 关键字声明的字段为实例变量,与静态变量不同的是实例变量它必须创建类对象才可以通过对象来引用变量。同时实例变量的初始值为变量类型的默认值0。

数组元素:

一组具有同一属性的数据就称为数组,是最常见的数据结构之一。当创建数组实例时,数组的元素就已存在, 数组元素初始值都是默认值0。在没有对该数组实例的引用时停止存在;

值参数:

没有使用 ref 或 out 关键字修饰的参数为值参数, 值参数所属的函数成员 (方法、实例构造函数、访问器或运算符) 或匿名函数在开始调用时而存在并进行初始化值,当函数成员或匿名函数返回时值参数就停止存在。

引用参数:

使用修饰符 ref 声明的参数为引用参数,引用参数不会创建新的存储空间,相反,引用参数与所属函数成员或匿名函数调用中的参数的变量表示相同的存储位置。

输出参数:

使用修饰符 out 声明的参数为输出参数, 同样输出参数不会创建新的存储空间, 相反,输出参数与函数成员或委托调用中的参数有着相同存储位置。 因此,输出参数的值始终与基础变量相同。

局部变量:

顾名思义局部变量就是只在局部的“代码块”内有效的变量,局部变量经常出现在 for 语句、if 语句或 using 语句等等。局部变量的生存期是程序执行的一部分,实际生存期取决于程序的具体实现。

3,接收输出变量

在 C# 程序中可以使用 System 命名空间中 Console 类的 Readline 方法 和 WriteLine 方法实现接收变量并输出。

  • Readline 方法用于接收用户输入的一行数据并转换为 string 字符串类型输出
  • WriteLine 方法将指定的 value 参数变量输出

以下面程序的实现为示例:

using System;

class Program
{
    static void Main(string[] args)
    {
        Console.WriteLine("请问您喜欢什么编程语言?");
        string language = Console.ReadLine();
        Console.WriteLine($"我也喜欢用{language}");	// 我也喜欢用C#
        Console.ReadKey();
    }
}

二. 常量(constant)

常量是不可变的值,在编译时是已知的,在程序的生命周期内不会改变。 常量使用 const 修饰符声明。 仅 C# 内置类型(不包括 System.Object)可声明为 const。 用户定义的类型(包括类、结构和数组)不能为 const。 同时也可以使用 readonly 修饰符创建在运行时一次性(例如在构造函数中)初始化的类、结构或数组,此后不能更改。

1,常量的定义及初始化

常量定义的语法: const <data_type> <constant_name> = value;readonly <data_type> <constant_name> = value;

  • 与变量不同,常量在声明时必须初始化赋值
  • data_type 表示数据类型,constant_name 表示常量名称, value 表示常量表达式
  • C# 程序中常量分为编译期的常量 const 和运行期的常量 readonly
  • 笔者建议优先考虑 readonly 关键字来声明常量,详细的理由请查看第2条建议

如何在 C# 中定义常量示例程序:

static class Constants
{
    public const double Pi = 3.14159;
    public const int SpeedOfLight = 300000; 
}

class Program
{
    static void Main()
    {
        double radius = 5.3;
        double area = Constants.Pi * (radius * radius);
        int secsFromSun = 149476000 / Constants.SpeedOfLight; 
        Console.WriteLine(secsFromSun);		// 498
    }
} 
  • 通常使用常量为特殊值且提供有意义的名称, 比如 Pi 和 SpeedOfLight 等常量。
  • 常量的输出与变量相同, 使用 Console 类的 WriteLine 方法。
  • 使用类名限定符 (示例代码的 static) 有助于确保你和使用该常量的其他人了解它是常量,并且不能通过实例化对象来修改。 (提高可读性)

2,常见的常量类型

整数常量:

整数常量可以是十进制、二进制、八进制或十六进制的常量, 其中前缀的使用:

  • 十进制:不使用任何前缀(可以使用U 和 L 分别表示 unsigned 和 long)
  • 二进制:使用 0b 或 0B 前缀
  • 八进制: 使用 0 前缀
  • 十六进制:使用 0x 或 0X 前缀

四种进制的代码示例:

const int decimalLiteral = 42;    // 十进制
const int binaryLiteral = 0b_0010_1010;   // 二进制
const int octalLiteral = 0213;    // 八进制
const int hexLiteral = 0x2A;      // 十六进制  

浮点数常量:

使用浮点数常量必须包含小数点、指数或同时包含两者。使用指数形式必须包含整数部分、小数部分或同时包含两者。有符号的指数是用 e 或 E 表示的。 浮点常量通常用来表示时间、日期等需要精确到小数点后几位的结果,且结果不能修改。

一些浮点常量的实例:

const float time = 11.11f;    
const float price = 9.99f;    
const double data = 11.11;    
const double pi = 3.1415926;

字符常量:

字符常量是指用一对单引号括起来的一个字符,如’a’,‘9’,字符常量中的单引号只起定界作用并不表示字符本身。 在 C# 程序中字符常量的主要表示有普通字符 ‘b’、转义序列 ‘\t’、通用字符 ‘\u02C0’。

列举C# 中字符串转义序列:

转义序列 字符名称 Unicode 编码
\’ 单引号 0x0027
\" 双引号 0x0022
\\ 反斜杠 0x005C
\0 null 0x0000
\a 警报 0x0007
\b Backspace 0x0008
\f 换页 0x000C
\n 换行 0x000A
\r 回车 0x000D
\t 水平制表符 0x0009
\v 垂直制表符 0x000B
\u Unicode 转义序列 (UTF-16) \uHHHH(范围:0000 - FFFF;示例:\u00E7 =“ç”)
\U Unicode 转义序列 (UTF-32) \U00HHHHHH(范围:000000 - 10FFFF;示例:\U0001F47D = “👽”)
\x 除长度可变外,Unicode 转义序列与“\u”类似 \xH[H][H][H](范围:0 - FFFF;示例:\x00E7、\x0E7 或 \xE7 =“ç”

使用字符常量转义序列的示例

class Program
{
    static void Main()
    {
        Console.WriteLine("Hello,\t\n world");
        Console.ReadLine();
    }
} 

字符串常量:

字符串常量是一对双引号括起来的字符序列,与字符常量不同的地方在于表达形式、含义和内存。字符串常量的声明是括在双引号“”里,或者使用@“” 表示取消字符串中的转义符 。字符串常量常用于用户程序输入信息、 程序向用户显示信息等。

各种形式的字符串常量实现:

const string str0 = "hello, C#";                  // hello, C#
const string str1 = @"hello, C#";               // hello, C#
const string str2 = "hello \t C#";               // hello     C#
const string str3 = @"hello \t C#";               // hello \t C#
const string str4 = "Joe said \"Hello\" to me";      // Joe said "Hello" to me
const string str5 = @"Joe said ""Hello"" to me";   // Joe said "Hello" to me
const string str6 = "\\\\server\\share\\file.txt";   // \\server\share\file.txt
const string str7 = @"\\server\share\file.txt";      // \\server\share\file.txt
const string str8 = "one\r\ntwo\r\nthree";
const string str9 = @"one
				   two
				   three";
  • 即使表达形式不同,但是表示的都是相同的字符串常量
  • 声明字符串时可以使用换行和空格

结语

✔️ 以上就是对 C# 程序中变量与常量的使用,希望能够对大家有所帮助。望大家多多支持,你们的支持就是笔者创作最大的动力!文章来源地址https://www.toymoban.com/news/detail-459680.html

到了这里,关于【C#基础】C# 变量与常量的使用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Go语言基础之变量和常量

    标识符 在编程语言中标识符就是程序员定义的具有特殊意义的词,比如变量名、常量名、函数名等等。 Go语言中标识符由字母数字和_(下划线)组成,并且只能以字母和_开头。 举几个例子:abc, _, _123, a123 是指编程语言中预先定义好的具有特殊含义的标识符。

    2024年02月12日
    浏览(34)
  • web安全php基础_php常量及可变变量(魔术变量)

    php中常量是一个简单值的标识符。该值在脚本中不能改变。 一个常量由英文字母、下划线、和数字组成,但数字不能作为首字母出现。 (常量名不需要加 $ 修饰符)。 常量有两点需要特别注意的地方 常量在整个脚本中都可以使用。 常量值被定义后,在脚本的其他任何地方都不

    2024年02月12日
    浏览(47)
  • 【Go基础】编译、变量、常量、基本数据类型、字符串

    面试题文档下链接点击这里免积分下载 go语言入门到精通点击这里免积分下载 使用 go build 1.在项目目录下执行 2.在其他路径下编译 go build ,需要再后面加上项目的路径(项目路径从GOPATH/src后开始写起,编译之后的可执行文件就保存再当前目录) 3.打包的时候自定义名字:

    2024年02月09日
    浏览(46)
  • 【C语言基础考研向】02 数据类型-常量-变量

    文章目录: 一.数据类型 二.常量 三.变量 四. 整型数据 五.浮点型数据 六.字符型数据 七.字符串常量 数据类型分为四大类: 基本类型 整型 浮点 字符型 构造类型 数组 结构体 指针类型 空类型 常量是指在程序运行过程中,其值不发生变化的量。常量又可分为整型、实型(也称浮

    2024年01月16日
    浏览(41)
  • python教程 入门学习笔记 第3天 编程基础常识 代码注释 变量与常量

    编程基础常识 一、注释 1、对代码的说明与解释,它不会被编译执行,也不会显示在编译结果中 2、注释分为:单行注释和多行注释 3、用#号开始,例如:#这是我的第一个python程序 4、注释可以写在单独一行,也可以写在一句代码后面 5、不想执行编译,又不能删除的代码,可

    2024年02月14日
    浏览(41)
  • 如何在Go中使用变量和常量

    变量 是一个需要掌握的重要编程概念。它们是符号,代表你在程序中使用的值。 本教程将介绍一些变量基础知识和在您创建的Go程序中使用它们的最佳实践。 用技术术语来说,变量是将一个存储位置赋值给一个与符号名称或标识符相关联的值。在计算机程序中,我们使用变

    2024年02月07日
    浏览(28)
  • FPGA设计Verilog基础之数据类型的作用和特点、常量和变量的代码示例详解

    注意:后续技术分享,第一时间更新,以及更多更及时的技术资讯和学习技术资料 ,将在公众号 CTO Plus 发布,请关注公众号: CTO Plus 在Verilog中,有多种数据类型可供使用,包括位向量类型、整数类型、实数类型、布尔型、时间类型和字符串类型等。下面详细介绍Verilog的所

    2024年02月03日
    浏览(30)
  • C#基础(C# 变量)

            申明变量的固定写法:变量类型 变量名  = 初始值;                                                  int            i       = 1 ;                  1、变量名我们自定义要按照一定规则         2、初始值一定要和变量类型是统一的         3、= 和 ; 是

    2024年02月02日
    浏览(22)
  • 什么是常量?如何区分常量和变量?

            什么是常量,什么是变量?怎样区分⼆者? 1. 常量与变量         (1)常量即其值在程序运⾏的过程中是不可以改变的,如123,-4567 为数值常量;         (2)变量是在程序运⾏期间其值是可以进⾏变化的量                  如 int a; char b:是整型变

    2024年02月02日
    浏览(32)
  • 指针变量、指针常量与常量指针的区别

    定义 :指针变量是指存放地址的变量,其值是地址。 一般格式 :基类型 指针变量名;(int p) 关键点 : 1、int * 表示一种指针类型(此处指int 类型),p(变量名)即为定义的指针变量名。 2、在定义指针变量时必须指定基本类型,知道数据类型,才能按存储单元的长度以及数据的

    2024年02月11日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包