Beginner with C# 4
来源:网络整理 责任编辑:栏目编辑 发表时间:2013-07-01 14:56 点击:次
1。4 预定义类型(predefined types)
c#提供了一系列预定义类型。它们与c/c++有不少相似的地方。预定义引用类型有object和string。
object类型是所有其他类型的基础。
预定义类型包括符号数、无符号数、浮点、布尔、字符和十进制数。符号数有:sbyte、short、
int和long;无符号数有:byte、ushort、uint和ulong;浮点数有:float和double。
布尔类型就像一个开关,只有两种状态:true或false。c#对布尔的要求比c/c++严格,与java类似。
在c#中false不等于0,true也不等于1;false和true都是单独分离出来的一个值。学过c/c++的网友
都知道:*/
int i = 0;
if (i = 0) { // bug: 应该是 (i == 0)
....
}
/* 是没有问题的。但在c#中会引发一个编译错误(error cs0029: cannot implicitly convert
type 'int' to 'bool')。当然,这样牺牲了一点没有必要的灵活性。我们再也不能这样:*/
string str;
....
if(str = console.readline()) {
console.writeline("your comments are: {0}",str);
....
/* 而必须:*/
using system;
class booltest
{
static void main() {
string str = console.readline();//也可以:string str;
if(str == "") // if((str = console.readline()) == "")
console.writeline("i can't read your comments. please tell me something! o.k.?");
else
console.writeline("your comments are: {0}",str);
}
}
/*
我抄了一张预定义类型的简表供大家参考。
type description examples
object the ultimate base type of all other types object o = new stack();
string string type; a string is a sequence of string s = "hello";
unicode characters
sbyte 8-bit signed integral type sbyte val = 12;
short 16-bit signed integral type short val = 12;
int 32-bit signed integral type int val = 12;
long 64-bit signed integral type long val1 = 12;
long val2 = 34l;
byte 8-bit unsigned integral type byte val1 = 12;
byte val2 = 34u;
ushort 16-bit unsigned integral type ushort val1 = 12;
ushort val2 = 34u;
uint 32-bit unsigned integral type uint val1 = 12;
uint val2 = 34u;
ulong 64-bit unsigned integral type ulong val1 = 12;
ulong val2 = 34u;
ulong val3 = 56l;
ulong val4 = 78ul;
float single-precision floating point type float value = 1.23f;
double double-precision floating point type double val1 = 1.23
double val2 = 4.56d;
c#提供了一系列预定义类型。它们与c/c++有不少相似的地方。预定义引用类型有object和string。
object类型是所有其他类型的基础。
预定义类型包括符号数、无符号数、浮点、布尔、字符和十进制数。符号数有:sbyte、short、
int和long;无符号数有:byte、ushort、uint和ulong;浮点数有:float和double。
布尔类型就像一个开关,只有两种状态:true或false。c#对布尔的要求比c/c++严格,与java类似。
在c#中false不等于0,true也不等于1;false和true都是单独分离出来的一个值。学过c/c++的网友
都知道:*/
int i = 0;
if (i = 0) { // bug: 应该是 (i == 0)
....
}
/* 是没有问题的。但在c#中会引发一个编译错误(error cs0029: cannot implicitly convert
type 'int' to 'bool')。当然,这样牺牲了一点没有必要的灵活性。我们再也不能这样:*/
string str;
....
if(str = console.readline()) {
console.writeline("your comments are: {0}",str);
....
/* 而必须:*/
using system;
class booltest
{
static void main() {
string str = console.readline();//也可以:string str;
if(str == "") // if((str = console.readline()) == "")
console.writeline("i can't read your comments. please tell me something! o.k.?");
else
console.writeline("your comments are: {0}",str);
}
}
/*
我抄了一张预定义类型的简表供大家参考。
type description examples
object the ultimate base type of all other types object o = new stack();
string string type; a string is a sequence of string s = "hello";
unicode characters
sbyte 8-bit signed integral type sbyte val = 12;
short 16-bit signed integral type short val = 12;
int 32-bit signed integral type int val = 12;
long 64-bit signed integral type long val1 = 12;
long val2 = 34l;
byte 8-bit unsigned integral type byte val1 = 12;
byte val2 = 34u;
ushort 16-bit unsigned integral type ushort val1 = 12;
ushort val2 = 34u;
uint 32-bit unsigned integral type uint val1 = 12;
uint val2 = 34u;
ulong 64-bit unsigned integral type ulong val1 = 12;
ulong val2 = 34u;
ulong val3 = 56l;
ulong val4 = 78ul;
float single-precision floating point type float value = 1.23f;
double double-precision floating point type double val1 = 1.23
double val2 = 4.56d;
相关新闻>>
最新推荐更多>>>
- 发表评论
-
- 最新评论 更多>>