C# 静态类,字符串的常见API

静态构造函数:

 1.一定是静态类才有静态构造函数吗?错的

 静态构造函数的特点:

 1.静态构造函数没有修饰符修饰(默认修饰符是private,但是不能写出来)

 2.静态构造函数是系统默认调用,程序员无法手动调用

 3.如果类中没有静态构造函数,而此时类中又包含静态字段(未初始化的),那么此时编译器会默认生成静态构造函数

 4.在静态类中或者静态方法中,不能使用实例对象。

 5.如果类中包含静态成员,且没有被初始化,系统会默认提供一个默认的值,这也间接的说明了我们不可以直接调用静态构造函数,也没有办法     控制静态函数的执行时间

 6.静态构造函数只能被调用一次,并且不能被重载

 7.静态构造函数不能有形式参数

 8.虽然静态构造和普通构造函数名字一样,参数一样,但是系统规定可以共存。

 9.静态构造函数是在普通构造函数之前执行,一般情况下用于初始化静态字段,或者拦截在实例化之前处理某些特定情况,可以在该函数中实现.




用static 修饰的类是静态类

静态类的特点

1.静态类不能被直接实例化

2.静态类不能被继承

3.静态类中不能包含实例成员

4.静态类就是特殊的密封类

5.静态类中虽然不能包含实例成员,但是可以有常量

6.静态类和实例调用方式不一样,普通类是以实例.的方式进行调用,而静态类是以类名.的方式进行调用

7.静态类的访问速度相对而言要比实例类要快得多

8.如果类中包含静态构造函数和函数的入口main函数,此时静态构造函数会在main函数之前调用

9.如果类中包含静态构造函数并不包含入口main函数,此时静态构造函数会在main函数之后调用

字符串的常见API


1.获取字符串长度

public void Test1(){

//无论英文,特殊符号还是中文,长度都是1个字节.

string s = "你好中国xxx,";

Console.WriteLine("字符串长度为:" + s.Length);}

2.字符串中查找字符串


public void Test2(){

//返回-1证明查不到

//如果能查到,返回的是该字符或者字符串在字符串中索引位置

string s = "HFDJasdgajSGDasjgdhagshjdg";

int i = s.IndexOf('F',3,1);

Console.WriteLine (i);}

3. 字符串提取,截取指定范围内的字符串

public void Test3(){

string s = "你好吗,我的母亲中国好棒!";

string temp = s.Substring(0,9);

Console.WriteLine (temp);}

字符串替换

public void Test4(){string s = "淫das,你dsa妈dsa个x,草曹操肏";//这些字符大多都是要被屏蔽的

string newStr = s.Replace("淫","*");Console.WriteLine (newStr);

//分几种:1.亲戚

//string pattern = @"[淫银瘾]|[草曹操肏]|[爹妈姑舅爷]";

//string newStr = Regex.Replace (s, pattern, "*");

//Console.WriteLine (newStr);}////// 字符串插入(指定位置)

///public void Test5(){string s = "你好,中国";

string newStr = s.Insert(0,"china");

Console.WriteLine (newStr);}

////// 判断字符串以什么什么结尾

///public void Test6(){

string s = "你好,中国";bool b = s.EndsWith("中国");

if (b) {Console.WriteLine ("是以中国结束");}}

////// 字符串按照索引位置移除

///public void Test7(){string s = "你好,中国";string newStr = s.Remove(1,1);

Console.WriteLine (newStr);}

////// 字符串拼接

///public void Test8(){string s = "你好";s += "中国";Console.WriteLine (s);}

////// 判断字符串是否相等

///public void Test9(){string s1 = "你好";string s2 = "你好1";

string s3 = "你好2";

//if (s1 == s2) {

//Console.WriteLine ("相等的字符串");

//}

if(string.Equals (s1, s2))

{Console.WriteLine ("字符串s1和s2相等");}}

////// 字符串转换值类型

///public void Test10(){string s = "123.";//int i = int.Parse(s);int result = 0;bool l = int.TryParse (s, out result);

if (l) {Console.WriteLine ("转换成功!~" + result);} 

else {throw new Exception ("传入数据包含非法字符,请处理!");}}//抛出一个异常

你可能感兴趣的:(C# 静态类,字符串的常见API)