C#基础之变量与常量及类型转换

前言

       上一章我介绍C#语言的程序结构和数据类型,已对C#语言有了初步的认识。现在继续对C#基础的其他知识进行介绍。 本文介绍C#语言基础知识之变量、常量和数据类型之间的转换,是C#语言基础的第二篇。

一、变量

1.1 定义

       变量表示数值或字符串值或类的对象。变量存储的值可能会发生更改,但名称保持不变。变量是字段的一种类型。C#中的每个变量都有一个特定的类型,类型决定了变量的内存大小和布局。数据类型在上一章中已经介绍。

C#中变量是怎样定义的,下面是定义变量的语法:<修饰符> <数据类型> <变量名称> 。

 ;

定义变量的例子:


// 定义未初始化
string personName;
// 定义并初始化
int personAge=18;

*使用变量需先声明再赋值,然后使用的规则

1.2 规范

       变量的命名有一定的规范,使用规范的命名可以改善代码的可读性及可维护性,我们必须遵守编码规范。

       首先,变量命名要有意义,可以用任意的字母、数字、下划线来组成,但需要注意不能与C#的关键字重复、大小写敏感、不能重复定义。

       其次,在为变量命名时要满足下面的一些常见的命名规则。

Pascal 规则:每个单词开头的字母大写,如PersonName。

Camel 规则:除了第一个单词外的其他单词的开头字母大写,如 personName。

1.3 作用域

       变量的作用域是可以访问该变量的代码区域。它与变量定义的位置密切相关,可以遵循以下规则来确定变量的作用域。

1、类在某个作用域中,其字段(成员变量)也在该作用域内。

2、在声明该变量的块语句或方法结束的右花括号({})之前的作用域内。

3、在循环语句中声明的变量存在于该循环体内。

4、成员变量【类级别声明的变量】和局部变量【方法内中声明的变量】的作用域冲突。

二、常量

        常量是另一种类型的字段,是固定值。它保存在编译程序时赋予的值,并且从那之后在任何情况下都不会发生更改,常量使用const关键字来定义。常量可以是任何基本数据类型,比如整数常量浮点常量字符常量,还有枚举常量

       字符常量是括在单引号里,例如,'a',且可存储在一个简单的字符类型变量中,在C#中有一些特定的字符,当它们的前面带有反斜杠时有特殊的意义。下表列出一些转义序列码:

转义序列 含义
\\ \ 字符
\' ' 字符
\" " 字符
\? ? 字符
\a Alert 或 bell
\b 退格键(Backspace)
\f 换页符(Form feed)
\n 换行符(Newline)
\r 回车
\t 水平制表符 tab
\v 垂直制表符 tab
\0000 一到三位的八进制数
\xhhhh 一个或多个数字的十六进制数

C#中常量是怎样定义的,下面是定义变量的语法:const <数据类型> <变量名称> =常量值

const  =value;

定义常量的例子:


// 定义整数常量
const int speedLimit = 60;
// 定义浮点常量
const double PI = 3.14159;
// 定义字符常量
const char TAB='\t';

三、类型转换

类型转换是把数据类型从一种类型转换为另一种类型。在C#中类型转换有两种形式:

隐式类型转换:是C#默认的以安全方式进行的转换。如从小的整数类型转换为大的整数类型,从派生类转换为基类。

显式类型转换:是通过用户使用预定义的函数显式完成的。显式转换需要强制转换运算符。

C# 提供了下列内置的类型转换方法:

序号 方法  描述
1 ToBoolean 如果可能的话,把类型转换为布尔型。
2 ToByte 把类型转换为字节类型。
3 ToChar 如果可能的话,把类型转换为单个 Unicode 字符类型。
4 ToDateTime 把类型(整数或字符串类型)转换为 日期-时间 结构。
5 ToDecimal 把浮点型或整数类型转换为十进制类型。
6 ToDouble 把类型转换为双精度浮点型。
7 ToInt16 把类型转换为 16 位整数类型。
8 ToInt32 把类型转换为 32 位整数类型。
9 ToInt64 把类型转换为 64 位整数类型。
10 ToSbyte 把类型转换为有符号字节类型。
11 ToSingle 把类型转换为小浮点数类型。
12 ToString 把类型转换为字符串类型。
13 ToType 把类型转换为指定类型。
14 ToUInt16 把类型转换为 16 位无符号整数类型。
15 ToUInt32 把类型转换为 32 位无符号整数类型。
16 ToUInt64 把类型转换为 64 位无符号整数类型。

四、示例参考

// 使用到的命名库
#region UseNamespace  
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
#endregion

/// 
/// 命名空间 我们一般按项目、实现相同功能等来定义它
/// 
namespace Fountain.Net.Base.Sample
{
    /// 
    /// 类名
    /// 
    class Program
    {
        /// 
        /// 控制台程序入口
        /// 
        static void Main(string[] args)
        {
            // 定义布尔类型变量
            bool isOpen = true;
            Console.WriteLine("布尔值:" + isOpen);

            // 定义整型类型变量
            int apple = 10;
            Console.WriteLine("双精度的十进制值:" + apple);

            // 定义双精度浮点类型
            decimal yuan = 168.00M;
            Console.WriteLine("双精度的十进制值:" + yuan);

            // 定义双精度浮点型常量
            const double PI = 3.14159;
            Console.WriteLine("双精度浮点型常量:" + PI);

            // 定义字符型常量
            const char TAB = '\t';
            Console.WriteLine("水平制表符 tab:" + TAB);

            // 定义双精度的十进制值
            double meters = 100.12;

            // 强制转换 double 为 int
            int intMeter = (int)meters;

            // 通过类型转换方法
            string stringMeter = meters.ToString();
            // 等待控制台输入
            Console.ReadKey();
        }
    }
}

五、小结

       本文对C#语言的变量、常量的定义、命名规范和数据类型转换进行描述,其它基础知识可关注后续。大家可以尝试自己动手代码。

你可能感兴趣的:(.net,c#)