C# 常量

  常量是固定值,程序执行期间不会改变。常量可以是任何基本数据类型,比如整数常量、浮点常量、字符常量或者字符串常量,还有枚举常量。

  常量可以被当作常规的变量,只是它们的值在定义后不能被修改。

  整数常量

  整数常量可以是十进制、八进制或十六进制的常量。前缀指定基数:0x 或 0X 表示十六进制,0 表示八进制,没有前缀则表示十进制。

  整数常量也可以有后缀,可以是 U 和 L 的组合,其中,U 和 L 分别表示 unsigned 和 long。后缀可以是大写或者小写,多个后缀以任意顺序进行组合。

  这里有一些整数常量的实例:

  212 /* 合法 */

  215u /* 合法 */

  0xFeeL /* 合法 */

  078 /* 非法:8 不是一个八进制数字 */

  032UU /* 非法:不能重复后缀 */

  以下是各种类型的整数常量的实例:

  85 /* 十进制 */

  0213 /* 八进制 */

  0x4b /* 十六进制 */

  30 /* int */

  30u /* 无符号 int */

  30l /* long */

  30ul /* 无符号 long */

  浮点常量

  一个浮点常量是由整数部分、小数点、小数部分和指数部分组成。您可以使用小数形式或者指数形式来表示浮点常量。

  这里有一些浮点常量的实例:

  3.14159 /* 合法 */

  314159E-5L /* 合法 */

  510E /* 非法:不完全指数 */

  210f /* 非法:没有小数或指数 */

  .e55 /* 非法:缺少整数或小数 */

  使用小数形式表示时,必须包含小数点、指数或同时包含两者。使用指数形式表示时,必须包含整数部分、小数部分或同时包含两者。有符号的指数是用 e 或 E 表示的。

  字符常量

  字符常量是括在单引号里,例如,'x',且可存储在一个简单的字符类型变量中。一个字符常量可以是一个普通字符(例如 'x')、一个转义序列(例如 '\t')或者一个通用字符(例如 '\u02C0')。

  在 C# 中有一些特定的字符,当它们的前面带有反斜杠时有特殊的意义,可用于表示换行符(\n)或制表符 tab(\t)。在这里,列出一些转义序列码:

  转义序列含义

  \\\ 字符

  \'' 字符

  \"" 字符

  \?? 字符

  \aAlert 或 bell

  \b退格键(Backspace)

  \f换页符(Form feed)

  \n换行符(Newline)

  \r回车

  \t水平制表符 tab

  \v垂直制表符 tab

  \ooo一到三位的八进制数

  \xhh . . .一个或多个数字的十六进制数

  以下是一些转义序列字符的实例:

  namespace EscapeChar

  {

  class Program

  {

  static void Main(string[] args)

  {

  Console.WriteLine("Hello\tWorld\n\n");

  Console.ReadLine();

  }

  }

  }

  当上面的代码被编译和执行时,它会产生下列结果:

  Hello World

  字符串常量

  字符常量是括在双引号 "" 里,或者是括在 @"" 里。字符串常量包含的字符与字符常量相似,可以是:普通字符、转义序列和通用字符

  使用字符串常量时,可以把一个很长的行拆成多个行,可以使用空格分隔各个部分。

  这里是一些字符串常量的实例。下面所列的各种形式表示相同的字符串。

  "hello, dear"

  "hello, \

  dear"

  "hello, " "d" "ear"

  @"hello dear"

  定义常量

  常量是使用 const 关键字来定义的 。定义一个常量的语法如下:

  const <data_type>= value;

  下面的代码演示了如何在程序中定义和使用常量:

  using System;

  namespace DeclaringConstants

  {

  class Program

  {

  static void Main(string[] args)

  {

  const double pi = 3.14159; // 常量声明

  double r;

  Console.WriteLine("Enter Radius: ");

  r = Convert.ToDouble(Console.ReadLine());

  double areaCircle = pi * r * r;

  Console.WriteLine("Radius: {0}, Area: {1}", r, areaCircle);

  Console.ReadLine();

  }

  }

  }

  当上面的代码被编译和执行时,它会产生下列结果:

  Enter Radius:

  3

  Radius: 3, Area: 28.27431

  本文转载自:w3cschool

  (编辑:雷林鹏 来源:网络)

雷林鹏分享:C# 常量的更多相关文章

  1. 雷林鹏分享:C# 变量

    C# 变量 一个变量只不过是一个供程序操作的存储区的名字.在 C# 中,每个变量都有一个特定的类型,类型决定了变量的内存大小和布局.范围内的值可以存储在内存中,可以对变量进行一系列操作. 我们已经讨论 ...

  2. 雷林鹏分享:C# 类(Class)

    C# 类(Class) 当您定义一个类时,您定义了一个数据类型的蓝图.这实际上并没有定义任何的数据,但它定义了类的名称意味着什么,也就是说,类的对象由什么组成及在这个对象上可执行什么操作.对象是类的实 ...

  3. 雷林鹏分享:C# 不安全代码

    C# 不安全代码 当一个代码块使用 unsafe 修饰符标记时,C# 允许在函数中使用指针变量.不安全代码或非托管代码是指使用了指针变量的代码块. 指针变量 指针 是值为另一个变量的地址的变量,即,内 ...

  4. 雷林鹏分享:Ruby 语法

    Ruby 语法 让我们编写一个简单的 Ruby 程序.所有的 Ruby 文件扩展名都是 .rb.所以,把下面的源代码放在 test.rb 文件中. #!/usr/bin/ruby -w puts &q ...

  5. 雷林鹏分享:Ruby 变量

    Ruby 变量 变量是持有可被任何程序使用的任何数据的存储位置. Ruby 支持五种类型的变量.您已经在前面的章节中大概了解了这些变量,本章节将为您详细讲解这五种类型的变量. Ruby 全局变量 全局 ...

  6. 雷林鹏分享:Ruby 运算符

    Ruby 运算符 Ruby 支持一套丰富的运算符.大多数运算符实际上是方法调用.例如,a + b 被解释为 a.+(b),其中指向变量 a 的 + 方法被调用,b 作为方法调用的参数. 对于每个运算符 ...

  7. 雷林鹏分享:Ruby 方法

    Ruby 方法 Ruby 方法与其他编程语言中的函数类似.Ruby 方法用于捆绑一个或多个重复的语句到一个单元中. 方法名应以小写字母开头.如果您以大写字母作为方法名的开头,Ruby 可能会把它当作常 ...

  8. 雷林鹏分享:Ruby 模块(Module)

    Ruby 模块(Module) 模块(Module)是一种把方法.类和常量组合在一起的方式.模块(Module)为您提供了两大好处. 模块提供了一个命名空间和避免名字冲突. 模块实现了 mixin 装 ...

  9. 雷林鹏分享:Ruby File 类和方法

    Ruby File 类和方法 File 表示一个连接到普通文件的 stdio 对象.open 为普通文件返回该类的一个实例. 类方法 序号方法 & 描述 1File::atime( path) ...

随机推荐

  1. ARM 架构、ARM7、ARM9、STM32、Cortex M3 M4 、51、AVR 之间有什么区别和联系?(转载自知乎)

    ARM架构:  由英国ARM公司设计的一系列32位的RISC微处理器架构总称,现有ARMv1~ARMv8种类. ARM7:       一类采用ARMv3或ARMv4架构的,使用冯诺依曼结构的内核. ...

  2. bzoj 3237 连通图 - 并查集 - 线段树

    Input Output Sample Input 4 5 1 2 2 3 3 4 4 1 2 4 3 1 5 2 2 3 2 1 2 Sample Output Connected Disconne ...

  3. 配置maven默认jdk版本

    1.在setting.xml中配置.对所有通过该配置文件构建的maven项目有效. <profile> <id>jdk-1.8</id> <activatio ...

  4. topcoder srm 706 div1

    1.给定一个迷宫,点号表示不可行,井号表示可行.现在可以改变其中的一些井号的位置.问最少改变多少个井号可以使得从左上角到右下角存在路径. 思路:设高为$n$,宽为$m$,若井号的个数$S$小于$n+m ...

  5. 再谈fedora下的音乐和视频播放器的安装

    rpm包就相当于windows下的exe,已经是编译后的二进制代码,可以使用rpm命令或dnf install ???.rpm来安装 lnux下软件的安装跟windows不同, 后者要到处去找, 要做 ...

  6. Android开发——去掉系统自带标题栏的几种方式

    https://blog.csdn.net/qq_28585471/article/details/75991613 今天在练习自定义标题栏(Android初级开发(四)——补充3)的过程中遇到了隐藏 ...

  7. nginx 配置 https 请求

    1,先去这个网站申请一下证书 https://certmall.trustauth.cn/Home/Member/index/id/1521167511.html 上面会教你怎么去做. 2,就是配置自 ...

  8. com.mysql.jdbc.exceptions.jdbc4.MySQLTransactionRollbackException: Lock wait timeout exceeded; try restarting transaction

    本文为博主原创: 以下为在程序运行过程中报的错误, org.springframework.dao.CannotAcquireLockException: ### Error updating dat ...

  9. 【译】第20节---数据注解-InverseProperty

    原文:http://www.entityframeworktutorial.net/code-first/inverseproperty-dataannotations-attribute-in-co ...

  10. Js操作Cookie的实现