您的位置:首页 > 编程语言 > C#

C#知识学习 遗忘的记忆 -第一天

2017-05-19 13:32 411 查看

学过C#知识,发现面对笔试,或者别人咨询的时候很多东西都答不上来。为了弥补遗忘的东西,重头学下,把重要的知识重新拿起来。

 

一、C#的字符串处理。

常用的字符串处理的函数。

Trim()

TrimEnd()

ToCharArray()

ToUpper()

ToLower()

.PadLeft()

.PadRight()

.Split()

 

 

1.1 Split()的使用方法

1、用字符串分隔: 
using System.Text.RegularExpressions;

string str="aaajsbbbjsccc";
string[] sArray=Regex.Split(str,"js",RegexOptions.IgnoreCase);
foreach (string i in sArray) Response.Write(i.ToString() + "<br>");

输出结果:

aaa

bbb

ccc
2、用多个字符来分隔:
string str="aaajbbbscccjdddseee"; 
string[] sArray=str.Split(new char[2] {'j','s'}); 
foreach(string i in sArray) Response.Write(i.ToString() + "<br>"); 

输出结果:

aaa

bbb

ccc

ddd

eee
3、用单个字符来分隔:
string str="aaajbbbjccc";
string[] sArray=str.Split('j');
foreach(string i in sArray) Response.Write(i.ToString() + "<br>");

输出结果:

aaa

bbb

ccc

 
////////////////////////////////////////////////
string[] arr = str.Split("o");
这是一个具有语法错误的语句,Split 的 separator 参数应该是 char[]
或 string[],不应是字符串。正确的示例:
string str = "technology";

char[] separator = { 'o' };

string[] arr = str.Split(separator);
////////////////////////////////////////////////////

String.Split 方法有6个重载函数:

程序代码
1) public string[] Split(params char[] separator)
2) public string[] Split(char[] separator, int count)

3) public string[] Split(char[] separator, StringSplitOptions options)

4) public string[] Split(string[] separator, StringSplitOptions options)

5) public string[] Split(char[] separator, int count, StringSplitOptions options)

6) public string[] Split(string[] separator, int count, StringSplitOptions options)

下边我们通过一些实例来说明下怎么使用(以下string words = "1,2.3,,4";):
1. public string[] Split(params char[] separator)

程序代码
string[] split = words.Split(new Char[] { ',' });//返回:{"1","2.3","","4"}

string[] split = words.Split(new Char[] { ',', '.' });//返回:{"1","2","3","","4"} 
2. public string[] Split(char[] separator, int count)

程序代码
string[] split = words.Split(new Char[] { ',', '.' }, 2);//返回:{"1","2.3,,4"}

string[] split = words.Split(new Char[] { ',', '.' }, 6);//返回:{"1","2","3","","4"} 
3. public string[] Split(char[] separator, StringSplitOptions options)

程序代码
string[] split = words.Split(new Char[] { ',', '.' }, StringSplitOptions.RemoveEmptyEntries);//返回:{"1","2","3","4"} 不保留空元素

string[] split = words.Split(new Char[] { ',', '.' }, StringSplitOptions.None);//返回:{"1","2","3","","4"} 保留空元素 
4. public string[] Split(string[] separator, StringSplitOptions options)

程序代码
string[] split = words.Split(new string[] { ",", "." }, StringSplitOptions.RemoveEmptyEntries);//返回:{"1","2","3","4"} 不保留空元素

string[] split = words.Split(new string[] { ",", "." }, StringSplitOptions.None);//返回:{"1","2","3","","4"} 保留空元素 
5. public string[] Split(char[] separator, int count, StringSplitOptions options)

程序代码
string[] split = words.Split(new Char[] { ',', '.' }, 2, StringSplitOptions.RemoveEmptyEntries);//返回:{"1","2.3,,4"} 不保留空元素

string[] split = words.Split(new Char[] { ',', '.' }, 6, StringSplitOptions.None);//返回:{"1","2","3","","4"} 保留空元素 
6. public string[] Split(string[] separator, int count, StringSplitOptions options)

程序代码
string[] split = words.Split(new string[] { ",", "." }, 2, StringSplitOptions.RemoveEmptyEntries);//返回:{"1","2.3,,4"} 不保留空元素

string[] split = words.Split(new string[] { ",", "." }, 6, StringSplitOptions.None);//返回:{"1","2","3","","4"} 保留空元素

需要注意的是没有重载函数public string[] Split(string[] separator),所以我们不能像VB.NET那样使用words.Split(","),而只能使用words.Split(',')
- 至1.1 以上转载:http://www.cnblogs.com/yugen/archive/2010/08/18/1802781.html

1.2 Trim() TrimEnd()的使用方法

C#中Trim()、TrimStart()、TrimEnd()的用法:

这三个方法用于删除字符串头尾出现的某些字符。Trim()删除字符串头部及尾部出现的空格,删除的过程为从外到内,直到碰到一个非空格的字符为止,所以不管前后有多少个连续的空格都会被删除掉。TrimStart()只删除字符串的头部的空格。TrimEnd()只删除字符串尾部的空格。
如果这三个函数带上字符型数组的参数,则是删除字符型数组中出现的任意字符。如Trim("abcd".ToCharArray())就是删除字符串头部及尾部出现的a或b或c或d字符,删除的过程直到碰到一个既不是a也不是b也不是c也不是d的字符才结束。
这里最容易引起的误会就是以为删除的是"abcd"字符串。如下例:
string s = " from dual union all ";
s = s.Trim().TrimEnd("union all".ToCharArray());
可能有人以为上面s的最终结果是"from dual",但真正的结果是"from d"。需要注意的是这种写法执行的删除对象是字符数组中出现的任意字符,而不是这些字符连在一起组成的字符串!


一般TRIM函数用法:
Trim()   功能删除字符串首部和尾部的空格。   
语法Trim ( string )   
参数string:string类型,指定要删除首部和尾部空格的字符串返回值String。
函数执行成功时返回删除了string字符串首部和尾部空格的字符串,发生错误时返回空字符串("")。
如果任何参数的值为NULL,Trim()函数返回NULL。
SQL 中的 TRIM 函数是用来移除掉一个字串中的字头或字尾。
最常见的用途是移除字首或字尾的空白。
这个函数在不同的资料库中有不同的名称:MySQL: TRIM(), RTRIM(), LTRIM()   Oracle: RTRIM(), LTRIM()   SQL Server: RTRIM(), LTRIM()   
各种 trim 函数的语法如下:   
TRIM([[位置] [要移除的字串] FROM ] 字串): [位置] 的可能值为 LEADING (起头), TRAILING (结尾), or BOTH (起头及结尾)。 
这个函数将把 [要移除的字串] 从字串的起头、结尾,或是起头及结尾移除。如果我们没有列出 [要移除的字串] 是什么的话,那空白就会被移除。
LTRIM(字串): 将所有字串起头的空白移除。   RTRIM(字串): 将所有字串结尾的空白移除。

--至 1.2 上 转 自 http://www.jb51.net/article/46202.htm
 

1、3

ToUpper() 转大写

ToLower()转小写

.PadLeft() 左边天添加字符串

.PadRight()右边添加字符串

 

二、变量中需要考虑到的问题

 

1、隐式转换和显示转换

1.1 bool和string没有隐式转换

1.2 checked和unchecked 

byte mysoft ;

short  yoursoft = 281;

mysoft = (byte) yoursoft;

Console.WriteLine("yousoft var:{0}",yoursoft);

Console.WriteLine("mysoft var:{0}",mysoft);

yousoft var:281

mysoft var:25

 

原因:  281 = 1000 11001

              25  =  0000 11001

            255 =   0111  1111

 

看到这种会丢失数据的。

在这些地方:用checked 和unchecked 溢出表达式来检查上下文。

byte mysoft ;

short  yoursoft = 281;

mysoft = (byte) yoursoft;

Console.WriteLine("yousoft var:{0}",yoursoft);

Console.WriteLine("mysoft var:{0}",mysoft);

会被抛出错误。

而用unchecked的这不会抛出错误。

 

1.3

 定义 int 【】 myarray = new int【arraysize】{2,3,46,9}

其中arraysize必须是用const修饰,负责会报错。

例如:const int aaaysize = 4;

 

1.4

foreach()的用法中,foreach 只能对数组中的内容进行只读访问,不能改变任何的值。

 

 

 

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c#