C#零基础入门系列(四)——变量与常量
C#零基础入门系列目录
上一节我们简单介绍了C#中的数据类型,本节我们将一起学习变量与常量。
C#是一种强类型语言。每一个变量和常量都有一个类型,类型中可存储以下信息:
- 类型变量所需的存储空间。
- 可以表示的最大值和最小值。
- 包含的成员(方法、字段、事件等)。
- 继承自基类型。
- 在运行时分配变量内存的位置。
- 允许执行的运算种类。
编译器将类型信息作为元数据嵌入可执行文件中。 公共语言运行时 (CLR) 在运行时使用元数据,以在分配和回收内存时进一步保证类型安全性。
一、变量
1、C#中的变量定义
在C#中声明变量必须指定其类型或使用 var 关键字让编译器推断类型
C#中变量定义的语法
<data_type> <variable_list>;
在这里,data_type 必须是一个有效的 C# 数据类型,可以是 char、int、float、double 或其他用户自定义的数据类型。variable_list 可以由一个或多个用逗号分隔的标识符名称组成。一些有效的变量定义如下所示:
int i, j, k;
char c, ch;
float f, salary;
double d;
可以在变量定义时进行初始化:
int i = 100;
从 Visual C# 3.0 开始,在方法范围内声明的变量可以具有隐式“类型”var。var 关键字指示编译器通过初始化语句右侧的表达式推断变量的类型。 推断类型可以是内置类型、匿名类型、用户定义类型或 .NET Framework 类库中定义的类型。以下示例演示使用 var 声明局部变量的各种方式:
//编译为整型
var i = 5;
//编译为字符串
var s = "Hello";
//编译为数组
var a = new[] { 0, 1, 2 };
//编译为IEnumerable<Customer>或者IQueryable<Customer>
var expr =
from c in customers
where c.City == "London"
select c;
//编译为匿名类型
var anon = new { Name = "Terry", Age = 34 };
//编译为List<int>
var list = new List<int>();
以下情况,可以使用var关键字:
- 在局部变量(在方法范围内声明的变量)上
- 在 for 初始化语句中。
for (var x = 1; x < 10; x++)
- 在 foreach 初始化语句中。
foreach (var item in list) {...}
- 在 using 域中。
using (var file = new StreamReader("C:\\demo.txt")) {...}
2、C#中变量的初始化
变量通过在等号后跟一个常量表达式进行初始化(赋值)。形式为:
<data_type> <variable_name> = value;
示例:
int a = 3, b = 5; /* 初始化 a 和 b. */
byte z = 22; /* 初始化 z. */
double pi = 3.14159; /* 声明 pi 的近似值 */
char x = 'x'; /* 变量 x 的值为 'x' */
二、常量
常量是不可变的值,在编译时是已知的,在程序的生命周期内不会改变。 常量使用 const 修饰符声明。仅 C# 内置类型(不包括 System.Object)可声明为 const。 用户定义的类型(包括类、结构和数组)不能为 const。
常量是使用 const 关键字来定义的 。定义一个常量的语法如下:
const <data_type> <constant_name> = value;
总结
以上对C#中的变量与常量进行了简单介绍,希望能对大家有所帮助,不足之处希望大家及时指出,也希望大家多提意见!
C#零基础入门系列(四)——变量与常量的更多相关文章
- 【JAVA零基础入门系列】Day4 变量与常量
这一篇主要讲解Java中的变量,什么是变量,变量的作用以及如何声明,使用变量. 那么什么是变量?对于初学者而言,可以将变量理解为盒子,这些盒子可以用来存放数据,不同类型的数据需要放在对应类型的盒子里. ...
- 【JAVA零基础入门系列】Day5 Java中的运算符
运算符,顾名思义就是用于运算的符号,比如最简单的+-*/,这些运算符可以用来进行数学运算,举个最简单的栗子: 已知长方形的长为3cm,高为4cm,求长方形的面积. 好,我们先新建一个项目,命名为Rec ...
- 【JAVA零基础入门系列】Day8 Java的控制流程
什么是控制流程?简单来说就是控制程序运行逻辑的,因为程序一般而言不会直接一步运行到底,而是需要加上一些判断,一些循环等等.举个栗子,就好比你准备出门买个苹果,把这个过程当成程序的话,可能需要先判断一下 ...
- 【JAVA零基础入门系列】Day11 Java中的类和对象
今天要说的是Java中两个非常重要的概念--类和对象. 什么是类,什么又是对象呢?类是对特定集合的概括描述,比如,人,这个类,外观特征上,有名字,有年龄,能说话,能吃饭等等,这是我们作为人类的相同特征 ...
- 【JAVA零基础入门系列】Day13 Java类的继承与多态
继承是类的一个很重要的特性,什么?你连继承都不知道?你是想气死爸爸好继承爸爸的遗产吗?(滑稽) 开个玩笑,这里的继承跟我们现实生活的中继承还是有很大区别的,一个类可以继承另一个类,继承的内容包括属性跟 ...
- 【JAVA零基础入门系列】Day2 Java集成开发环境IDEA
开发环境搭建好之后,还需要一个集成开发环境也就是IDE来进行编程.这里推荐的IDE是IDEA,那个老掉牙的Eclipse还是先放一边吧,(手动滑稽). IDEA的下载地址:http://www.jet ...
- 【JAVA零基础入门系列】Day6 Java字符串
字符串,是我们最常用的类型,每个用双引号来表示的串都是一个字符串.Java中的字符串是一个预定义的类,跟C++ 一样叫String,而不是Char数组.至于什么叫做类,暂时不做过多介绍,在之后的篇章中 ...
- 【JAVA零基础入门系列】Day9 Java中的那个大数值
什么是大数值?用脚趾头想也知道,当然是"大"的数值(233).Java中有两个用于表示大数值的类,BigInteger和BigDecimal,那到底能表示多大的数值呢?理论上,可以 ...
- 【JAVA零基础入门系列】Day10 Java中的数组
什么是数组?顾名思义,就是数据的组合,把一些相同类型的数放到一组里去. 那为什么要用数组呢?比如需要统计全班同学的成绩的时候,如果给班上50个同学的成绩信息都命名一个变量进行存储,显然不方便,而且在做 ...
- 【JAVA零基础入门系列】Day12 Java类的简单应用
俗话说的好,实践出真知,所以除了理论知识掌握扎实以外,更重要的是要多加操练,这样才能掌握核心科技. 今天我们就用刚学会的类来实践一下,目标便是完成上一篇中的剁手任务. 我们的商品类已经准备好了,代码重 ...
随机推荐
- C# WinForm 控件设置双缓存
DataGridView.GetType().GetProperty("DoubleBuffered", System.Reflection.BindingFlags.Instan ...
- Oracle中字符型级处理方法
字符型简介 固定长度字符串-char(n) n代表字符串的长度,当实际长度不足时,利用空格在右端补齐,n的最大值不能大于2000.所以只要是固定长度的字符串,他的length(值)的长度总为n var ...
- Rust修仙之道 第十一章 构型境 · 设计模式之道
第十一章:构型境 · 设计模式之道 "千术可构,格局需明:结构得法,道可延年." 顾行云正式承担"魂核驱动阵"的重构之任,发现需求纷繁.参数繁多.状态变化复杂. ...
- vue+vite初始配置和vite获取env环境变量
配置文件 在项目根目录创建两个配置文件 // .env 文件 VITE_PUBLIC_PATH=/demo/ // .env.development 文件 VITE_PUBLIC_PATH=/ VIT ...
- 将图片地址转为二进制(博客自定义随机背景图API)
背景 最近写博客. 觉得自己的博客毫无生机,想加一些图片. 于是在找了一些三方的随机图片链接,发现一些问题: 给的些链接不会直接返回图片, 要么是302重定向 要么是返回json 这导致,这个链接无法 ...
- Codeforces Round #613 (Div. 2) ABC 题解
A. Mezo Playing Zoma 题意:给你一个向右向左的指令,每个指令可以朝那个方向走一个单位,问你可以随意选出子序列来走,那可能到达的点有多少个. 思路:从范围上考虑就秒了.看最左和最右能 ...
- linux 主题
linux 默认主题见多了之后总会觉得审美疲劳,换一个新鲜的吧 装载自 linux公社 讲的已经比较好了 如果你使用的是图形界面,你会发现Ubuntu默认的界面真是丑的一批,所以下面以Ubuntu 1 ...
- dhcp 和static openwrt
config interface 'lan' option ifname 'eth0' option proto 'static' option ipaddr '192.168.111.87' opt ...
- 利用gitblit创建本地Git仓库
最近有个子项目,还未正式在服务器上进行开发环境设置,提出先本地设置Git仓库,于是开始搞这个: 首先是去gitblit官网进行软件工具下载 软件下载好解压后,运行gitblit.cmd 出现8843端 ...
- 低代码开发平台,快速提升API开发效率
RestCloud低代码开发平台相比于传统API开发模式具有更轻量级.更快速.更全面.更低代码量.更易于学习等特点,是完全自主研发的基于微服务架构的专注API高效开发的专业化平台,通过平台可以实现无代 ...