(1) 预定义类型
C#提供了与C/C++类似的一系列预定义类型,包括整型(包括符号数、无符号数)、浮点类型、布尔类型、字符类型和十进制类型。
整型有:sbyte、short、 int和long(符号数),byte、ushort、uint和ulong(无符号数);
浮点数有:float和double;
布尔类型有:true或false。c#对布尔的要求比c/c++严格,与java类似。在c#中false不等于0,true也不等于1;false和true都是单独分离出来的一个值;
字符型有:char;
十进制类型有:decimal;
此外我们可以预定义自己的预定义类型:
using System;
struct Digit
{...}
class Test
{
static void TestInt() {
int a = 1;
int b = 2;
int c = a + b;
Console.WriteLine(c);
}
static void TestDigit() {
Digit a = (Digit) 1;
Digit b = (Digit) 2;
Digit c = a + b;
Console.WriteLine(c);
}
static void Main() {
TestInt();
TestDigit();
}
}
(2) 引用类型
C#包含两个预定义类型分别是:object和string.
在C#中,object类型就是最终的父类型,所有内置类型和用户定义的类型都从它派生而来;
● 可以使用object引用绑定任何子类型的对象。
● object类型执行许多一般用途的基本方法,包括Equals()、GetHashCode()、GetType()和ToString()。
Object类型a的引用调用示例:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Demo5
{
class ObjectClass
{
public int i = 60;
}
class Program
{
static void Main(string[] args)
{
object a; //声明一个object型的变量!
a = "100"; //把string型值赋给Object类型的变量! (装箱的例子)
Console.WriteLine(a);
Console.WriteLine(a.GetType()); //引用GetType方法!
Console.WriteLine(a.ToString()); //引用ToString方法!
a = new ObjectClass();
ObjectClass b;
b = (ObjectClass)a; //对象b指向a! 装箱???
Console.WriteLine(b.i);
}
}
}
浙公网安备 33010602011771号