C#零基础入门系列目录

C#零基础入门系列(一)——C#简介

C#零基础入门系列(二)——第一个C#程序

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 (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#零基础入门系列(四)——变量与常量的更多相关文章

  1. 【JAVA零基础入门系列】Day4 变量与常量

    这一篇主要讲解Java中的变量,什么是变量,变量的作用以及如何声明,使用变量. 那么什么是变量?对于初学者而言,可以将变量理解为盒子,这些盒子可以用来存放数据,不同类型的数据需要放在对应类型的盒子里. ...

  2. 【JAVA零基础入门系列】Day5 Java中的运算符

    运算符,顾名思义就是用于运算的符号,比如最简单的+-*/,这些运算符可以用来进行数学运算,举个最简单的栗子: 已知长方形的长为3cm,高为4cm,求长方形的面积. 好,我们先新建一个项目,命名为Rec ...

  3. 【JAVA零基础入门系列】Day8 Java的控制流程

    什么是控制流程?简单来说就是控制程序运行逻辑的,因为程序一般而言不会直接一步运行到底,而是需要加上一些判断,一些循环等等.举个栗子,就好比你准备出门买个苹果,把这个过程当成程序的话,可能需要先判断一下 ...

  4. 【JAVA零基础入门系列】Day11 Java中的类和对象

    今天要说的是Java中两个非常重要的概念--类和对象. 什么是类,什么又是对象呢?类是对特定集合的概括描述,比如,人,这个类,外观特征上,有名字,有年龄,能说话,能吃饭等等,这是我们作为人类的相同特征 ...

  5. 【JAVA零基础入门系列】Day13 Java类的继承与多态

    继承是类的一个很重要的特性,什么?你连继承都不知道?你是想气死爸爸好继承爸爸的遗产吗?(滑稽) 开个玩笑,这里的继承跟我们现实生活的中继承还是有很大区别的,一个类可以继承另一个类,继承的内容包括属性跟 ...

  6. 【JAVA零基础入门系列】Day2 Java集成开发环境IDEA

    开发环境搭建好之后,还需要一个集成开发环境也就是IDE来进行编程.这里推荐的IDE是IDEA,那个老掉牙的Eclipse还是先放一边吧,(手动滑稽). IDEA的下载地址:http://www.jet ...

  7. 【JAVA零基础入门系列】Day6 Java字符串

    字符串,是我们最常用的类型,每个用双引号来表示的串都是一个字符串.Java中的字符串是一个预定义的类,跟C++ 一样叫String,而不是Char数组.至于什么叫做类,暂时不做过多介绍,在之后的篇章中 ...

  8. 【JAVA零基础入门系列】Day9 Java中的那个大数值

    什么是大数值?用脚趾头想也知道,当然是"大"的数值(233).Java中有两个用于表示大数值的类,BigInteger和BigDecimal,那到底能表示多大的数值呢?理论上,可以 ...

  9. 【JAVA零基础入门系列】Day10 Java中的数组

    什么是数组?顾名思义,就是数据的组合,把一些相同类型的数放到一组里去. 那为什么要用数组呢?比如需要统计全班同学的成绩的时候,如果给班上50个同学的成绩信息都命名一个变量进行存储,显然不方便,而且在做 ...

  10. 【JAVA零基础入门系列】Day12 Java类的简单应用

    俗话说的好,实践出真知,所以除了理论知识掌握扎实以外,更重要的是要多加操练,这样才能掌握核心科技. 今天我们就用刚学会的类来实践一下,目标便是完成上一篇中的剁手任务. 我们的商品类已经准备好了,代码重 ...

随机推荐

  1. C# WinForm 控件设置双缓存

    DataGridView.GetType().GetProperty("DoubleBuffered", System.Reflection.BindingFlags.Instan ...

  2. Oracle中字符型级处理方法

    字符型简介 固定长度字符串-char(n) n代表字符串的长度,当实际长度不足时,利用空格在右端补齐,n的最大值不能大于2000.所以只要是固定长度的字符串,他的length(值)的长度总为n var ...

  3. Rust修仙之道 第十一章 构型境 · 设计模式之道

    第十一章:构型境 · 设计模式之道 "千术可构,格局需明:结构得法,道可延年." 顾行云正式承担"魂核驱动阵"的重构之任,发现需求纷繁.参数繁多.状态变化复杂. ...

  4. vue+vite初始配置和vite获取env环境变量

    配置文件 在项目根目录创建两个配置文件 // .env 文件 VITE_PUBLIC_PATH=/demo/ // .env.development 文件 VITE_PUBLIC_PATH=/ VIT ...

  5. 将图片地址转为二进制(博客自定义随机背景图API)

    背景 最近写博客. 觉得自己的博客毫无生机,想加一些图片. 于是在找了一些三方的随机图片链接,发现一些问题: 给的些链接不会直接返回图片, 要么是302重定向 要么是返回json 这导致,这个链接无法 ...

  6. Codeforces Round #613 (Div. 2) ABC 题解

    A. Mezo Playing Zoma 题意:给你一个向右向左的指令,每个指令可以朝那个方向走一个单位,问你可以随意选出子序列来走,那可能到达的点有多少个. 思路:从范围上考虑就秒了.看最左和最右能 ...

  7. linux 主题

    linux 默认主题见多了之后总会觉得审美疲劳,换一个新鲜的吧 装载自 linux公社 讲的已经比较好了 如果你使用的是图形界面,你会发现Ubuntu默认的界面真是丑的一批,所以下面以Ubuntu 1 ...

  8. dhcp 和static openwrt

    config interface 'lan' option ifname 'eth0' option proto 'static' option ipaddr '192.168.111.87' opt ...

  9. 利用gitblit创建本地Git仓库

    最近有个子项目,还未正式在服务器上进行开发环境设置,提出先本地设置Git仓库,于是开始搞这个: 首先是去gitblit官网进行软件工具下载 软件下载好解压后,运行gitblit.cmd 出现8843端 ...

  10. 低代码开发平台,快速提升API开发效率

    RestCloud低代码开发平台相比于传统API开发模式具有更轻量级.更快速.更全面.更低代码量.更易于学习等特点,是完全自主研发的基于微服务架构的专注API高效开发的专业化平台,通过平台可以实现无代 ...