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类的简单应用
俗话说的好,实践出真知,所以除了理论知识掌握扎实以外,更重要的是要多加操练,这样才能掌握核心科技. 今天我们就用刚学会的类来实践一下,目标便是完成上一篇中的剁手任务. 我们的商品类已经准备好了,代码重 ...
随机推荐
- Windows Server 2025激活教程
Windows Server 如何把评估版升级改为正式版本并激活 微软官方并不提供server系统的正式版本,只提供测试的评估版本,那么我们怎么修改为正式版本呢? 1.确认版本 开始----运行--- ...
- net core api 跨域 Cors 找不到 “Access-Control-Allow-Origin”
public static void AddCorsSetup(this IServiceCollection services) { services.AddCors(c => { //允许任 ...
- centos如何部署vue项目
centos如何部署vue项目 前言 最近做了一个AI应用,通过大模型可以生成图片.并合成适视频,也有一点有趣. 后端是基于fastapi的,前端是vue. 但是在部署vue的是时候,有点犯难. 职业 ...
- 前端开发系列109-工程化篇之Grunt构建工具的运转机制
在前端工程化系列[02]-Grunt构建工具的基本使用这篇文章中,已经对Grunt做了简单的介绍,此外,我们还知道了该如何来安装Grunt环境,以及使用一些常见的插件了,这篇文章主要介绍Grunt的核 ...
- 前端开发系列082-Node篇之PRPL
本文主要介绍Node提供的交互式运行环境REPL,包括常见操作以及基础命令等内容. 一.REPL介绍 在Node.js中,提供了一个交互式的运行环境-REPL(Read-Eval-Print-Loop ...
- AI网络搜索
作为AI应用程序开发人员在了解函数调用(Function Calling)特性调用本地函数时可能注意到列表型参数tools中每一个元素都携带有一个type值.而在大多数函数调用示例程序中,这个type ...
- 使用Fiddler抓包解密移动端HTTPS 需ROOT
背景 在之前的一期文章中挖了个坑,超星学习通逆向接口参数加密分析,说会写一期抓包的文章,过了一年半,终于想起来填这个坑了. 前提 电脑安装Fiddler 手机ROOT并安装LSPosed,安装Just ...
- 支持API自动化测试,实现复杂的测试场景并输出报告
老旧的系统需要与新的业务系统进行衔接,内部与外部的API需要相互调用,云上云下要互联互通等等.企业在数字化转型中会面临着种种.对于传统的集成技术而言难以突破的复杂集成技术难题.RestCloud iP ...
- POLIR-Goverment-备案网站: 查询网站在 "公安部"备案的运营"公司/个人信息" @互联网信息服务
严格意义上,是 "公安部"的"网络安全保卫局" 管理网站备案 查询备案的政府网站 https://beian.mps.gov.cn/#/query/webSea ...
- GStreamer开发笔记(九):gst-rtcp-server安装和部署实现简单的rtsp-server服务器推流Demo
前言 Gstreamer还有一个重要的功能就是充当rtsp流媒体服务器. 注意 本ubuntu是虚拟机,对延迟可能影响较大,延迟可作为参考,物理机可能更快. Demo RTP ...