2015-10-26 c#2

二.值类型和引用类型

2.1  值类型:所有的数值类型都是值类型(short int long float double ...),枚举,布尔类型,结构

2.2  引用类型:对象 ,字符串,object,数组

2.2.1    引用类型的值是储存在堆里面的,栈里面储存的只是它的引用地址.

2.2.2    引用类型的赋值,实际上就是地址的拷贝

2.3  要去调用一个类里面的非静态成员(字段,方法),需要通过类的一个对象去调用

要去调用一个类里面的静态成员,只需要通过类去调用即可。

2.4  当实例化一个类的对象的时候,堆里面会将类里面的所有的非静态成员(变量,方法)生成。

2.5  当去实例化一个类的对象的时候,首先会在堆里面检索该类的对象是否存在,如果存在就会拷贝一份

2.6  当去实例化一个对象的时候,类里面所有的成员(静态或非静态,值类型或引用类型)都是储存在堆里面

三.装箱和拆箱

3.1  装箱:值类型转换为引用类型

int i=10;

string s=i.tostring();

拆箱:引用类型转换为值类型

string s="10";

int i=convert.toint32(s);

3.2  数据类型转换

隐式转换:低精度转为高精度,直接转

int i=123;

Double b=i;

显式转换:高精度转为低精度,必须指明要转换的目标类型,由于数据的差异,有可能丢失部分数据

double x=1223.4;

int a;

a=(int)x;

3.3   ??

a=b??c ---->  b为null吗,为null则a=c不为null则a=b

string(一)

一.字符串

1.1 字符串转变为数组

string s="asdfghk"

char[] a=s.tochararray();

1.2  str.Length表示字符串里面字符的个数。

1.3  字符串对象一旦被创建,这个对象就不能被修改。

二.常用方法

2.1  equals:判断两个字符串是否相同, 如果相同返回值为true,否则为false

console.writeline(string.equals("aa","bb"));

2.2  当一个类是一个静态类的时候,类里面的所有成员都是静态的

2.3  定位字符串

StartWith/EndWith 判断一个字符串是否以一个字符串_开头(结尾),返回值true/false

indexOf/LastindexOf 某个指定的字符或字符串第一次(最后一次)出现的位置

2.4  截取字符串 Substring

2.5  插入和填充字符串

2.5.1   insert方法

string str1 = "hi";

string str2 = "world";

string str3=str1.Insert(1,str2);

2.5.2  PadLeft/PadRigth方法

string str1=”hi”;

string str2=str1.PadLeft(4,’@’);    -------left 填充到左边,right填充到右边

Console.WriteLine(str2);

结果为:@@hi

2.6   删除和剪切字符串Remove方法

2.6.1  Remove(开始删除的位置,删除的数量)

2.6.2  Trim

1.去除掉前后空格

2.去除特殊字符

Char[] str1={‘@’,’#’,’$’};

string str2=”@China$#”;

string str3=str2.Trim(str1);

Console.WriteLine(str3)

结果为China

2.6.3  TrimStart(去掉前面的空格),TrimEnd(去掉后面的空格)

2.6.4  CopyTo方法

string str1=”China”;

char[] str2=new char[100];

str1.CopyTo(0,str2,0,3);//要复制的字符(str1)的起始位置,目标数组(str2),指定目标数组中开始存放的位置,要复制的字符个数

2.7  替换字符串

string str1=”hello”;

string str2=str1.Replace(“ll”,”r”);

Console.WriteLine(str2);

2.8  format 将内容传到字符串里面去

string.format("年龄是{0},姓名是{1}",a,b);

上一篇:怎么在html页面和js里判断是否是IE浏览器


下一篇:webHttpBinding、basicHttpBinding和wsHttpBinding区别