C#入门分享(三)——C#常量与变量

一 常量

常量是其值在使用过程中不会发生变化的变量。在声明和初始化常量时在常量前加const。

                      const int a = 100;  // This value cannot be changed.

在程序中使用常量至少有 3个好处:

(1)由于使用易于读取的名称(名称的值易于理解)替代了较难读取的数字或字符串,常量使程序变得更易于阅读。

(2)常量更容易避免程序出现错误。如果在声明常量的位置以外的某个地方将另一个值赋给常量,编译器就会报告错误。

(3)常量使程序更易于修改。

二 变量

(1)变量的初始化  

变量的初始化是C#调安全性的一个体现。 简单地说,编译器需要用某个初始值对变量初始化,未初始化而调用的变量会被当成错误。
与C++类似,常使用:

datatype identifier = datavalue;

来定义和初始化变量。

(2)对象的实例化 

在 C#中实例化一个引用对象需要使用new关键字(该引用指向存储在堆上的一个对象):

Objsomething = new Something()      // This creates a something on the heap

(3)类型推断 

类型推断(type inference)使用var关键字。声明变量的语法有些变化。编译器可以根据变量的初始化值“推断”变量类型,这是一种非常有用的用法,和javascript是类似的。例如:

var someNumber = 1;

即使someNunber从来没有声明为int,编译器也可以确定其类型,只要someNunber在其作用域内,它就是一个int型变量。

(4)变量作用域

变量的作用域是可以访问该变量的代码区域。一般情况下,确定作用域遵循以下规则:

(a)只要类在某个作用域内,其字段(也称为成员变量)也在该作用域内。
       (b) 局部变量存在于表示声明该变量的块语句或方法结束的右花括号之前的作用域内。
       (c) 在for、while或类似语句中声明的局部变量存在于该循环体内。

(5)值类型和引用类型 

       C#把数据类型分为两种:值类型和引用类型,这两种类型存储在内存的不同地方:值类型存储在堆栈中,而引用类型存储在托管堆上。

上面的语句会在内存的两个地方存储值20, i 是值类型,j是引用类型。

如果变量是一个引用 ,就可以把其值设置为null,表示它不引用任何对象。如果将引用设置为null,显然就不可能对它调用任何非静态的成员函数或字段,这么做会在运行期间抛出一个异常。

(6)预定义值类型

        C#内 置的CTS值类型表示基本类型,如 整型和浮点类型、字符类型和布尔类型。

1.整 型
           C#支持8个预定义整数类型,如表:


       2.浮点类型

共两种:
       3.decimal类型

4.bool类型

5.字符类型

char类型的量是用单引号括起来的。如果把字符放在双引号中,编译器会把它看作字符串,从而产生错误。

除了把char表示为字符字面量之外,还可以用4位十六进制的Uicode值(如‘\u0041’)、带有数据类型转换的整数值(如(char)65)或十六进制数(‘\x0041‘))表示它们。它们还可以用转义序列表示,如表:

(7)预定义引用类型

C#支持两种预定义的引用类型,如表:

至此,关于C#常变量的知识就差不多介绍完了,下一篇博客将为大家介绍C#常用语句的种种。


时间: 2024-11-05 21:39:27

C#入门分享(三)——C#常量与变量的相关文章

Java从入门到放弃——02.常量、变量、数据类型、运算符

本文目标 理解什么是常量,什么是变量 认识八大基本数据类型 了解算数运算符.赋值运算符.关系运算符.逻辑运算符.位运算符.三元运算符 1.什么是常量与变量? 常量是相对静止的量,比如整数:1,2,3 字符:‘a’,‘b‘ 字符串:“Halloworld” 变量是可以改变的量,比如:   x = 13://给x赋值13, x = 14 ://给x赋值14 此时x的值可以人为地改变,所以可以称x为一个变量 2.八大基本数据类型 整数: 字节型 byte  //用来存储字节(整数),占1个字节(-12

前端PHP入门-005-爱情是常量还是变量

常量 常--汉语字面为:长久,经久不变. 常量那就好翻译了:长久不变的值. 常量的使用范围非常广泛. 我们在以后,定义我们的工作目录.定义一些特点的帐户密码.版本号等我们都会使用到常量.所以这一块的知识,非常重要. 常量在代码中的定义.书写方式: define(常量名,常量值) 规则说明 常量值只能为上一章中我们讲到的标量 常量名可以小写,但是通常大写 常量名可以不加引号,但是通常加上引号 在字符串中调用常量的时候,必须在引号外面 常量名建议只用字母和下划线 代码实验室 定义和调用一次常量试试

VBA第三课 常量与变量

Sub 常量() Const pi = 3.1415926 End Sub Sub 变量() Dim a As Integer a = 100 a = 200 End Sub Sub 应用() Const pi = 3.1415926 '常量 a = 200 '变量,可不用声明 Debug.Print pi * a '在立即窗口显示 End Sub <h2 style="font-family: 'Microsoft Yahei', sans-serif; margin: 0px; pad

【iOS】Swift中Playground,常量、变量、字符串等小结

一.代码及书写的几点变化(相比于OC) 1. 更像Java,Javascript或Python的格式了 2. 结尾的分号可写可不写了(同一行的多条语句中间必须加分号) 3. 不需要写main函数了,直接是从上往下执行 4. 文件后缀变.swift了,不再是.h与.m两个文件了 ...... 二.Playground Playground顾名思义,Play是玩的意思,ground是地方的意思.拿来玩.写demo或者测试很nice.在WWDC上演示了Playground实时显示,并演示了一个简单的小

swift 简介和常量与变量 --- swift 入门

一.思维导图 二. 代码 //创建UIView 和按钮 let views = UIView(frame: CGRect(x:20, y: 20, width: 100, height: 100))//FIXME:改变viewsframe views.backgroundColor = UIColor.yellow view.addSubview(views) //MARK: 创建一个按钮 let Button2 = UIButton(type: .contactAdd) Button2.bac

Thinkphp入门三—框架模板、变量(47)

原文:Thinkphp入门三-框架模板.变量(47) [在控制器调用模板] display()   调用当前操作名称的模板 display(‘名字’)  调用指定名字的模板文件 控制器调用模板四种方式: [在控制器给模板传递变量] 在smarty里边给模板传递变量信息 $smarty -> assign(变量名称,值); 在tp框架里边同样适用assign()给模板传递变量信息 ThinkPHP的模板引擎的左右标记: ThinkPHP/Lib/ Behavior/ ParseTemplateBe

C语言入门教程-(4)常量和变量

1.常量和变量的概念 程序执行过程中其值不能发生改变的量叫做常量,其值能发生改变的量叫做变量.常量可以直接使用,而变量则必须先定义后才能使用,否则编译器会报错. 2.常量和变量的命名规范 在介绍常量和变量的命名规范之前,我们先了解一下什么是标识符和关键字. 1)标识符 标识符,用来标识符号常量名.变量名.函数名.数组名.文件名.类名.对象名等.简单的将就是大家取的名字~~有效标识符的构成规则如下: 1)第一个字符必须是字母(大小写都行)或下划线,不能是数字; 2)后跟字母(大小写都行).下划线或

Tensorflow机器学习入门——常量、变量、placeholder和基本运算

一.这里列出了tensorflow的一些基本函数,比较全面:https://blog.csdn.net/M_Z_G_Y/article/details/80523834 二.这里是tensortflow的详细教程:http://c.biancheng.net/tensorflow/ 三.下面程序是我学习常量.变量.placeholder和基本运算时形成的小函数 import tensorflow as tf print(tf.__version__)#打印Tensorflow版本 print(t

【Go语言】【3】GO语言常量与变量

一般的语言入门都会讲一堆背景和特性,这样做的目的是为了能让学习者对该语言有一个大概的认识,这也是为何有人推荐正确的读书方法是先粗略地读一遍,然后再详细地读一遍,但这里我想直接进入细节,不是因为个性,而是因为常量和变量是编程语言最基本的组成元素. 一.字面常量 以前在编程时,老员工总是说不要在代码中出现魔鬼数字,什么是魔鬼数字呢?就是在代码中直接写死且只出现一次的数字,例如: func calculatePrice(price float32) float32{ return price * 0.

[转]C# 互操作性入门系列(三):平台调用中的数据封送处理

传送门 C#互操作系列文章: C#互操作性入门系列(一):C#中互操作性介绍 C#互操作性入门系列(二):使用平台调用调用Win32 函数 C#互操作性入门系列(三):平台调用中的数据封送处理 C#互操作性入门系列(四):在C# 中调用COM组件 本专题概要 数据封送介绍 封送Win32数据类型 封送字符串的处理 封送结构体的处理 封送类的处理 小结 一.数据封送介绍 看到这个专题时,大家的第一个疑问肯定是--什么是数据封送呢?(这系列专题中采用假设朋友的提问方式来解说概念,就是希望大家带着问题