初探C#
——————————-
C#的数据类型
C#的数据类型与C++的数据类型大同小异。学习起来很容易。
在C#中,变量分为以下几种类型:
- 值类型
- 引用类型
- 指针类型
在这儿,没学过编程语言的人可能会问,变量
又是什么呢?一个变量只不过是一个供程序操作的存储区的名字。在C#中,每个变量都有一个特定的类型,类型决定了变懒的内存大小和布局。范围内的值可以存储是在内存中,可以对变量进行一系列的操作。
对于C#的数据类型,下面展开来说。
值类型
值类型变量可以直接分配给一个值。它们是从类System.Value.Type中派生的。
值类型直接包含数据。比如int
、char
、float
,它们分别存储数字、字符、浮点数。
下表给出C#2010中可用的值类型。
如果我们需要得到一个类型或者变量在特定平台上的准确尺寸,可以使用sizeof
方法。表达式sizeof(type)产生以字节为单位存储对象或类型的存储尺寸。
using System;
using System.Collections.Generic;
using System.Text;
namespace projAboveAvg
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Size of int:{0}", sizeof(int));//获取int类型的存储尺寸
}
}
}
运行结果如下:
引用类型
引用类型不包含存储在变量中的实际数据,但它们包含对变量的引用。
换句话说,它们指的是一个内存位置。使用多个变量时,引用类型可以指向一个内存空间。如果内存位置的数据是由一个变量改变的,其他变量会自动反映这种值得变化。内置
引用类型有:object
、dynamic
、string
。
对象类型
对象类型是C#通用类型系统中所有数据类型的终极基类。object是System.object类的别名。所以对象类型可以被分配任何其他类型(值类型、引用类型、预定义类型、用户自定义类型)的值。但是,在分配值之前,需要进行类型转换。
当一个值类型转换为对象类型时,则成为装箱
。当一个对象类型被转换为值类型时,则成为拆箱
。
object obj;
obj =100;//这是装箱
动态类型
我们可以存储任何类型的值在动态数据类型变量中。这些变量的类型检查是在运行时发生的。
声明动态类型的语法:
dynamic <variable_name> =value;//variable_name为变量名
For example:
dynamic d=20;
字符串类型(string)
string类型允许我们给变量分配任何字符串值。string类型时System.String类的别名。它是从对象类型派生出来的。string 类型的值可以铜锅两种形式进行分配:引号和@引号。
string str="wqbin.github.io";
@"wqbin.github.io";
指针类型
指针类型变量存储另一种类型的内存地址。C#中的指针与C或C++中的指针具有相同的功能。
声明指针类型的语法:
type* identifier;
char* cptr;
int* iptr;
最后:你好!C#
using System;
using System.Collections.Generic;
using System.Text;
namespace projAboveAvg
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello ,C#");
}
}
}