Params

可变参数,只能修饰数组,可以传递数组,也可以传递数组的元素。

要抛弃一个异常,可以这样写:

Throe new exeception??

命名空间

不在同一个命名空间下的类,不同直接访问,要想访问别的命名空间下类有两种方法:

1) 通过using引用命名空间

2) 写全称。命名空间.类名

大多情况下使用第一种

Ctrl+.  直接引用命名空间

System 为根命名空间

字符串

String类常用的方法:

1) string scoreA = "vb#"; string stra =scoreA.ToLower ();

得到字符串小写的形式

2) string scoreA = "vb#"; string stra =scoreA.ToUpper();

得到字符串的大写形式

3) scoreA .Equals (scoreB, StringComparison.CurrentCultureIgnoreCase

判断两个字符串是否相等

String可以看做是char的制度数组,char c[]= str[i];

C#中字符串有个重要的特性,不可变性。字符串一旦声明,就不可以再改变,所以只能通过索引来读取指定位置的char,不能对指定位置的char做修改。

如果要对char进行修改没那么就必须创建一个新的字符串,用str.ToCharArray()方法得到字符串中的char数组,对于数组进行修改后,调用new string (char[])这个构造函数,来创建char数组的字符串,一旦字符串被差姸,那么char数组的修改也不会造成字符串的变化。

比较字符串

1)compare方法

该方法是string类的静态方法,用于比较两个字符串对象。有6种重载方式

Int Compare(string strA,stringB, int indexA,int intdexB,int length, bool ignorCase,system.globalization.CultrueInfocultre)

intdexA,intdexB,子字符串的起始位置

ignorCase 指定考虑大小写

Length,待比较字符串的长度

CultrueInfocultre字符串的区域性信息

返回值

strA>strB 负整数

strA =strB 0

strA<strB 正整数

2)CompareTo()

CompareTo()方法将当前字符串对象与另一个字符串对象比较,其作用与Compare()方法类似,返回值也相同。

CompareTo()方法不是静态方法,可以通过一个string对象来调用,

CompareTo()方法没有重载形式,只能按照大小写敏感方式比较两个整串。

string StrA = "n";

string strB = "m";

int i = StrA.CompareTo(strB );

Console.WriteLine(i);

3)Equals()方法

该方法用于判断亮的字符串是否相同,有两种重载方式。

如果两个字符串相等,则返回True,否则返回False

string strA = "fgd";

string strB = "fgda";

Console.WriteLine(string.Equals (strA ,strB ));

Console.WriteLine(strA .Equals (strB ));

定位字符及子串

定位字串是指一个字符串中寻找其中包含的子串或者某个字符,在string类中,常用的方法有:

1)StartWith/Endwith方法

StartWith方法,可以判断一个字符串对象是否以另一个子字符串开头,如果是返回True;否则返回False,

Public bool StartWith(string value)

string strA = "fgd";

Console.WriteLine(strA .StartsWith ("fg"));

Console.WriteLine(strA.EndsWith ("g"));

2)Indexof/LastIndexof方法

Indexof方法用于搜索在上一个字符串中,某个特定的字符或子串第一次出现的位置,该方法区分大小写, 并从字符串的首字符开始以0计数。如果字符串中不包含这个字符串或子串,则返回-1.

3)IndexOfAny/LastIndexOfAny

它可以在一个字符串中搜索一个字符数组中的任意字符第一次出现的位置。

格式化字符串

Format方法用于创建格式化的字符串及连接多个字符串对象

DateTime DTA = DateTime.Now;

string strB = string.Format("{0:d}",DTA );

Console.WriteLine(strB );

插入和填充字符串

1)insert

用于在一个字符串的指定位置插入另一字符串,从而构造新的字符串。

string strA = "hellio";

Console.WriteLine(strA.Insert (0,"my name "));

属性

2)PadLeft/PadRight

该方法用于在一个字符串的左侧进行字符填充,使其达到一定的长度。

string strA = "hi";

Console.WriteLine(strA .PadLeft (5,'&'));//'&'是字符类型

删除和剪切字符串

1)Remove

从一个字符串的指定位置开始,删除指定数量的字符。索引从0开始

string strA = "hayyy";

string strB = strA.Remove(2,3);

Console.WriteLine(strB );

2)Trim  TrimStart、TrimEnd

用来剪切字符串中特定的字符

Trim()将指定字符串的首尾空白字符移除后形成的字符串

Trim(params char[]trimchars)

数组包含指定要去掉的字符,如果缺省,则为空格字符

返回值为,从指定字符串的开始和结尾移除trimChars中字符的所有匹配项后剩余的string

string strA = "@ jfioashg % jhoshdig  %";

Console.WriteLine(strA .Trim ('@','%'));

TrimStart()从字符串开始位置移除数组中指定的一组字符的所有匹配项。

string strA = "@@33hjkgh**";

Console.WriteLine(strA .TrimStart('@'),'3');

Console.WriteLine(strA.TrimEnd ('*'));

赋值字符串

1)Copy

如果想把一个字符串赋值到另一字符串数组中,可以使用string的静态方法Copy,

Public static string Copy(string str)

返回值,与str具有相同值得新的字符串

string strA = "my";

string strB = string.Copy(strA );

Console.WriteLine(strB );

Console.ReadKey();

2)CopyTo()

可以复制字源符串中的一部分到一个字符数组中,CopyTo()不是静态方法,其语法格式如下:

Public void CopyTo(int sourceIndex,char[]destinnation,int destinationIndex,int count)

sourceIndex 要复制字符串的其实位置

Destinnation 目标字符数组

destinationIndex 指定目标数组开始存放的位置

Count指定要复制的字符个数

string strA = "happy";

char[] strB = new char[100];

strA.CopyTo(0,strB ,0,3);

Console.WriteLine(  strB );

Length 获得字符串的长度

字符串的连接+,两边只要有一个字符串类型,那么另一个也会被自动转换成字符串类型。

一切类型(对象)都可以调用.ToString()方法,转换成字符串类型。

字符串的分割

String[] Split(Params char[] Separator);

将字符串按照指定的分割符分割为字符串数组。

String[] Split(char[] Separator,stringSplitOptions.Options);

将字符串按照指定的char分隔符分别为字符串数组,Options 取RemoveEmptyEntries的时候,将一处结果中的空白字段。

字符串替换

String Replace(string oldValue,string newValue)

string str1= strDataTime.Replace("-","/");

把第一个参数字符,转换为第二个参数字符。

取字符串

String SubString(int startindex);

去从位置startindex开始一直到最后的子字符。

String SubString(int startindex,int length);

取从位置startindex开始长度为length的子字符,如果子字符的长度不足length则报错。

BOOl Contains(string value);

判断字符串中是否含有字串value

Bool StartWith(string Value)

判断字符串是否以字串value开始

BoolEndsWith(string Value)

判断字符串是否以字串value结束

Int indexOf(string value);取字符串value第一次出现的位置。

Int index(string value,int StartIndex);

StringBuilder

StringBuilder类位于System.Text命名空间下,它可表示可变字符串。程序中存储不确定的字符串时,常常需要用StringBuilder类。

C# 基础(5)--字符串的更多相关文章

  1. hrbustoj 1551:基础数据结构——字符串2 病毒II(字符串匹配,BM算法练习)

    基础数据结构——字符串2 病毒IITime Limit: 1000 MS Memory Limit: 10240 KTotal Submit: 284(138 users) Total Accepte ...

  2. redis基础的字符串类型

    redis —— 第二篇 基础的字符串类型 我们都知道redis是采用C语言开发,那么在C语言中表示string都是采用char[]数组的,然后你可能会想,那还不简单,当我执行如下命令,肯定是直 接塞 ...

  3. GoLang基础数据类型--->字符串处理大全

    GoLang基础数据类型--->字符串处理大全 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 欢迎加入:   高级运维工程师之路               59843264 ...

  4. Python基础数据类型-字符串(string)

    Python基础数据类型-字符串(string) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客使用的是Python3.6版本,以及以后分享的每一篇都是Python3.x版 ...

  5. C++基础之字符串string

    C++基础之字符串string 标准库类型string表示可变长的字符序列,使用string类型必须首先包含string头文件.作为标准裤的一部分,string定义在命名空间std中. 定义和初始化s ...

  6. Golang的基础数据类型-字符串型

    Golang的基础数据类型-字符串型 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.字符型概述 上一篇博客学习了使用单引号括起来的单个字符就是字符类型,在Golang中有两种表 ...

  7. c#编程基础之字符串基础

    1.C#中单个的字符串用单引号包含就是char类型,('a'),单引号中放且只能放一个字符 2.单个字符也可以表示为字符串,还可以有长度为0的字符串. 3.使用s.Length属性来获得字符串中的字符 ...

  8. java基础练习 字符串,控制流,日历,日期等

    1,对基本控制流程的一些练习 package org.base.practice3; import org.junit.Test; /** * Created with IntelliJ IDEA. ...

  9. NOI 1.7编程基础之字符串(35题)

    01:统计数字字符个数 查看 提交 统计 提问 总时间限制:  1000ms 内存限制:  65536kB 描述 输入一行字符,统计出其中数字字符的个数. 输入 一行字符串,总长度不超过255. 输出 ...

  10. Python基础(二) —— 字符串、列表、字典等常用操作

    一.作用域 对于变量的作用域,执行声明并在内存中存在,该变量就可以在下面的代码中使用. 二.三元运算 result = 值1 if 条件 else 值2 如果条件为真:result = 值1如果条件为 ...

随机推荐

  1. nodejs初探(三)实现一个简单的socket交互

    看一下nodejs中通过socket和客户端交互的最简单例子 //  Sever --> Client 的单向通讯 var net = require('net'); var chatServe ...

  2. XE6移动开发环境搭建之IOS篇(2):安装VM9虚拟机(有图有真相)

    网上能找到的关于Delphi XE系列的移动开发环境的相关文章甚少,本文尽量以详细的图文内容.傻瓜式的表达来告诉你想要的答案. 原创作品,请尊重作者劳动成果,转载请注明出处!!! 1.安装VM9英文原 ...

  3. dedecms代码研究六

    今天讲的是dedecms最关键的东西,模板分析啦.也就是dedetag.class.php 里面的ParseTemplet方法 模板解析方法 先看看一个dedecms标签,大家心里有个数: {dede ...

  4. JS函数arguments数组获得实际传参数个数

    JS与PHP在函数传参方面有点不同,PHP形参与实参个数要匹配,而JS就灵活多了,可以随意传参,实参比形参少或多都不会报错. 实参比形参多不会报错 ? 1 2 3 4 5 function say(a ...

  5. UICollectionView布局功能

    UIConllectionView和UITableView类似,也是展示数据,但不同于UITableView那种规则的布局,UICollectionView可以实现不规则的布局,即瀑布流. 创建UIC ...

  6. Attribute "resource" must be declared for element type "mapper".

    今天在玩mybatis的时候,遇到这个奇葩问题. 最后发现,原因是 dtd文件配置错误了.错把Mapper的直接copy过来 把DOCTYPE mapper改成configuration,Mapper ...

  7. VC++ 结束线程 AfxBeginThread AfxEndThread

    如果你的线程是从CWinThread继承出来的,结束自己就用AfxEndThread, 如果是外部调用的话,可以用PostThreadMessage(m_nThreadID, WM_QUIT,0,0) ...

  8. scala学习心得3

    在scala中可以定义函数字面量参数,定义方式如下:

  9. div层叠顺序额

    在模态窗体中打开新div,结果该div不显示 该div不是没有显示,而是显示了,但是被这个模态状体挡住了 解决方法:修改z-index这个参数 该参数越大则显示在越上层,即可见

  10. HTML 透明、阴影,圆角等知识点

     table两个属性:cellpadding:内容与单元格边框的距离,内部距离cellspacing:单元格之间的距离,外部距离    table合并边框线:  border-collapse: co ...