C# lesson3

一、局部变量和成员变量

1、程序入口(Main)要调用非静态成员(变量或方法)的话,是需要通过对象去调用的;

2、普通方法里面去调用变量或方法的话可以直接调用

成员变量(全局变量):放在Main方法之外

局部变量:放在具体方法里面,只能在此方法里面用

 

二、C#里的字符串操作

字符串恒定性:

1、字符串可以看成是字符的数组;

2、str.Length得到字符串里的字符个数

3、字符串一旦创建不可修改,重新赋值只会在堆里面开辟新的空间;

4、在创建一个字符串的时候,会先在字符串数据池里(堆)寻找是否有相同的字符创内容的对象,如果有就直接让变量指向这个对象,如果没有就重新创建新的对象;

字符串里的方法:

1、判断字符串是否相同:Equals('a','c')

Console.WriteLine(string.Equals('a', 'c'));   //False
Console.ReadKey();

2、判断是否以什么开头、结尾

s.StartsWith("a");      //是否以a开头
s.EndWith("c");        //是否以c结尾

3、定位字符串

indexOf(“s”,5)                //指定字符串第一次出现的位置
LastindexOf("g",6)           //指定字符串最后一次出现的位置

4、字符串截取

Console.WriteLine(s.Substring(2,5)) ;         //从哪开始截取几个长度

5、插入字符串:insert

string str3=str1.insert(1,str2);                    //从哪个位置开始插入  以及插入内容

6、用@从左边补齐到4长度:padLeft(4,"@")     同理右边 padRight(4,"@")

 


7、Trim();  去除字符串前后空格s.Trim();

或者去除自定义的数组内容(仅限前后)

char[] str1={'@','#','$','%'};
string str2="@china$#";
string str3=str2.Trim(str1);
Console.WriteLine(str3);

8、CopyTo方法;

string str1="china";
char[] str2=new char[100];
str1.CopyTo(0,str2,0,3)     //要复制字符串的起始位置、目标数组、存放起始位置、要复制的字符长度;

9、字符串的替换;

string str1="hello";
string str2=stri.Replace("ll",r);           //把"ll"替换成r
Console.Write(str2)

10、传值方式推荐

int i=10;
string s="ddd";
bool b=false;
double f=10.4523;

string s1=string.Format("传值{0}的时候{1}先用占{2}位符占据,一目{3}了然",i,s,b,f);

11、字符串拼凑

(解决字符串拼凑时,一直开辟新空间的问题)

String.Builder sb=new StringBuilder();
sb.Append("aa");
if(2>1){
   sb.Append("bbb");
}
else{
sb.Append("ccccc");
}

sb.Append("dddddd");
Console.WriteLine(sb.Tostring);

12、获取控制台输入的内容:

string s=Console.ReadLine.ToString();    //获取到控制台里面输入的内容
s+=“ass”;
Console.WriteLine(s);

13、foreach遍历

int[] aNum={22,5,21,5,2,5};
foreach(var a in aNum){
  Console.WriteLine(a);
}
ConsoleReadKey();

三、异常

错误时语法问题,异常不是,但不处理将会将后台代码暴露给用户,体验差、不安全;

try{

//内容

}catch(){

Console.WriteLine("网站维修中... ...")

}

finally{

Console.WriteLine("不管是否发生异常都要执行");

}

 

posted on 2017-01-12 15:54  _Mr_朱  阅读(154)  评论(0编辑  收藏  举报

导航