显式类型转换也可以称为是强制类型转换,它需要在代码中声明要转换的类型。如果在不存在隐式转换类型之间进行转换,就需要使用显式类型转换。
强制类型转换可以使用Convert关键字进行数据类型的强制转换。
例如:float f=123.345;
int i=(int)f;
或者:float f=123.345
int i=Convert.ToInt32(f);
说明:由于显式类型转换包括所有隐式类型转换和显式类型转换,一次总是可以使用强制类型转换表达式从任何数值类型转换为任何其他数值类型。
四、运算符及表达式
C#提供了大量的运算符,这些运算符指定在表达式中执行哪些操作符号。表达式是可以计算且结果为单个值、对象、方法或命名空间的代码片段。
1、算术运算符和算术表达式
算术运算符包括+ - * / 和%。(过于简单不在赘述);
2、关系运算符和关系表达式
关系运算符包括:<>!= == <= >=等(各种语言都是相同的);
3、赋值运算符和赋值表达式
赋值运算符用于为变量、属性、事件或者索引元素赋新值。常用的有:=, +=,-=,*=,/=,^=,%=,<<=(右移赋值),>>=(左移赋值)等。
4、逻辑运算符和逻辑表达式
逻辑运算符包括:&(与操作符),^(异或操作符),!(非操作符),|(或操作符),用逻辑运算符把运算对象连接起来。
5、位运算符
位运算符指将它的操作数看成一个二进制的集合,每个二进制位可以取值0或1。<<左移,>>右移。
6、其他运算符
递增、递减运算符:++,--,a--,a++.
条件运算符:?:根据布尔类型表达式的值返回两个值中的一个。例如:int a=1; int b=2; a!=b?a++:a--;(如果a!=b,该实例返回执行结果为2,否则为1)。
new运算符:用于创建对象和调用构造函数。例如: int i=new int();相当于 int i=0;
as运算符:用于在兼容的引用类型之间执行转换。例如: string s =someObject as string; as运算符类似于强制转换,当转换失败时,运算符产生空值,而不是引发空值。
7、运算符的优先级
基本>>单目>>乘除>>加减>>移位>>比较>>相等>>位与>>位异或>>位或>>逻辑与>>逻辑或>>条件>>赋值
五、字符串处理
1、比较字符串
String 类提供了一系列的方法用于字符串的比较,如CompareTo和Equals等。
其中CompareTo方法用于比较两个字符串是否相等。 格式:String.CompareTo(String);返回数值类型
Equals方法用于确定两个string对象是否具有相同的值。格式:String.Equals(String);返回布尔类型
2、定位及其字符串
定位字符串中的某个字符或紫川第一次出现的位置使用IndexOf方法。格式:String.IndexOf(String);其中的参数表示需要定位的字符串。(注意大小写的书写)。
3、格式化字符串
.Net提供了一种灵活全面的方式,能够将任何数值、枚举、日期时间等基本数据类型表示为字符串。格式化由格式说明符的字符串表示,该字符串指示如何表示基类型。
格式为:String Format(String,Object);例如:
//格式化为Currency类型 string str1=String.Format("(C)Currency:{0:C}\n",-123.4556f); //格式化为ShortDate类型 string str2=String.Format("(d)ShortDate:{0:d}\n",DateTime.Now);
4、截取字符串
SubString方法可以从指定字符串中截取子串。格式:String.SubString(Int32,Int32); 第一个参数表示子串的起始位置,第二个参数表示子串的结束位置。
5、分裂字符串
Split()方法可以把一个字符串按照某个分隔符分裂成一系列小的字符串。格式:String []Split(char[]);参数为分割字符串的数组。
string str="hello world"; string[] split=str.Split(new Char[]{'.','!'}); foreach(string s in split) { if(s.Tirm()!='''') { Console.WriteLine(s); } //或者修改为 string []split=str.Split(','.'!');
6、插入和填充字符串