从大的方面来分,C#的数据类型可分为三类:值类型,引用类型,指针类型。指针类型仅用于非安全代码中。
1 C#值类型可以分为:简单类型,结构类型,枚举类型。
1.1 简单类型
简单类型也是结构类型,因此有构造函数,数据成员,方法,属性。int i=int.maxvalue,string s=i.ToString()是正确的。
简单类型包括:数值类型和布尔类型(bool)。数值类型又细分为:整数类型,字符类型(char),浮点数类型和十进制类型(decimal),见下表:
这里需要注意的是string是字符串类,是引用类型,不属于值类型。
1.2 结构类型
结构和类一样,可能声明构造函数,数据成员,方法,属性。结构和类最根本的区别是结构是值类型,类是引用类型。
1.3 枚举类型
C#枚举类型使用方法的C,C++基本一致。
2 C#中的引用类可分为:类,接口,代表。
C#引用类对象一般用运算符new建立,用引用类型变量引用该对象。
2.1 对象类
C#中所有的类都直接或间接地以object类为基类。对象类(object类)是所有其它类的基类。任何一个类定义,如果不指定基类,默认object为基类。
2.2 数组类
在进行批量处理数据的时候,要用到数组。数组是一组类型相同的有序数据。
2.3 字符串类(string类)
C#定义了一个基本的类string,专门用于对字符串的操作。这个类也是在名字空间System中定义的,是类System.String的别名。
string类的典型用法:
字符串搜索:
string s="ABC科学";
int i=s.IndexOf("科");
结果i=3。如果没有i=-1。
字符串比较函数:
string s1="abc";
string s2="abc";
int n=string.Compare(s1,s2);
n=0表示两个字符串相同。n<0表示s1<s2。n>0表示s1>s2。
判断字符串是否为空:
string s="";
string s1="不空";
if(s.Lenght==0)
s1="空";
得到子字符串或字符:
string s="取子字符串";
string sb=s.Substring(2,2);//从索引为2开始取2个字符,sb="字符",s内容不变
char sb1=s[0];//sb1=‘取‘
字符串删除函数:
string s="取子字符串";
string sb=s.Remove(0,2);//sb="字符串",s内容不变
插入字符串:
string s="计算机科学";
string s1=s.Insert(3,"软件");//s1="计算机软件科学",s内容不变
字符串替换函数:
string s="计算机科学";
string s1=s.Replace("计算机“,"软件");//s1="软件科学“,s内容不变
把String转换为字符数组:
string s="计算机科学";
char[] s1=s.ToCharArray(0,s.Lenght);//属性Lenght为字符类对象的长度
其它数据类型转换为字符串:
int i=9;
string s=i.ToString();//s="9";
大小写转换:
string s="AaBbCc";
string s1=s.ToLower();//把字符串转换为小写,s1=aabbcc,s内容不变
string s1=s.ToUpper();//把字符串转换为大写,s1=AABBCC,s内容不变
删除所有空格:
string s="A bc";
s.Trim();//s="Abc";