1、object类 

  所有类都继承于object类,是顶级父类,他有以下成员,都是虚方法:

     a)   ToString()  默认输出对象所属类的全名称(命名空间.类名)

    b)   Equals (Object obj)    比较的是内存地址  实质是:==

       c)   GetHashCode()          哈希码:用来保证同一时期生成的不同对象的哈希码,重复几率很小

2、string类 

  string对象可以看作是char类型的只读数组,一旦对字符串进行赋值,那么这个字符串的内容就不能再改变了。

  (1)c#中的字符串长度str.lengthjJ就是字符的个数,不必算‘\0’,与c语言中不同。

  (2)字符串变量,一旦创建不能修改(一旦创建,不销毁,可以二次利用)

//字符串一旦创建就不能改变

string str2 = "蒋泽明";         0x01地址先指向蒋泽明

str2 = "杨景涛";                0x01地址擦除,变成0x02指向杨景涛

//字符串一旦创建过,就不销毁´,可以二次利用

string str2Again = "蒋泽明";   先在常量池寻找是否有相同的字符串,有则重新指向,没有则创建新的地址存放

这也充分体现了字符串的恒定性

3、string类的常用方法

   对字符串的操作一定要用变量接受返回值,因为 字符串 不可修改!!!!!

    string str = "我爱北京天安门~~天安门前暴雨升~~";

   (1) 字符串长度 :   str.Length;

   (2)寻找子字符串的下标: int strIndex = str.IndexOf("北京");

    获取最后一个字符的位置: int strIndex = str.LastIndexOf("北京");

    如果字符串不存在,会返回 -1

   (3) 字符串的连接:

    string strA = "北京";  string strB = "天蓝";

    Console.WriteLine(strA + strB); //输出:北京天蓝

    注意:+ 两边只要有一个是字符串类型,另一个也会被自动转换成字符串类型

(4)EndsWith  返回值为bool类型,以某字符结束:Console.WriteLine(str.EndsWith(“~~~”));

    同理还有 StartWith 方法

  (5)Contains,返回值为bool类型,对象是否出现在字符串中:Console.WriteLine(str.Contains("暴"));

  (6)Equals   比较是否相等

    SuperMan sman = new SuperMan();

    Console.WriteLine(str.Equals(sman));//此时Equals方法,会将sman强制转换成字符串,如果转换失败,则返回false

  (7) Substring  从字符串中截取一个子字符串,从指定下标的字符开始到最后

    string strAfterSub = str.Substring(2);

   Console.WriteLine(strAfterSub);

  (8) string Replace(char oldChar, char newChar)

        替换;将oldChar替换成为newChar,如果oldChar不存在,返回原串

  (9)大小写转换

     String ToUpper()    String ToLower()

 (10)去除两边空格

     String Trim()

 (11)Spit(char[] separator, stringSplitOptions options)

    将字符串按照指点的char分隔符分隔为字符串数组(options取RemoveEntries的时候移除结果中的空白字符串)

 (12)字符串转型

  将字符数组转成字符串

   char[] arrChar = new char[] { '广', '州', '好' };

  string strChar = new string(arrChar);

   String strCha2r = new String(arrChar);

  将字符串转成数组

    char[] arrChar2 = strChar.ToCharArray();

.NET中的类库的更多相关文章

  1. ArcGIS Engine开发之旅02--ArcGIS Engine中的类库

    原文:ArcGIS Engine开发之旅02--ArcGIS Engine中的类库 System类库 System类库是ArcGIS体系结构中最底层的类库.System类库包含给构成ArcGIS的其他 ...

  2. 关于iOS6应用中第三方类库不支持armv7s的问题解决

    今天编译ios6+cocos2d v2 .1 beta2制作的游戏,出现下面的错误: ld: file is universal (3 slices) but does not contain a(n ...

  3. Java中基础类库使用

    Java中基础类库: 在这里我仅仅介绍几种我个人觉得会常常使用的 1:Object类中的Clone机制仅仅是对对象进行浅层次的克隆,假设须要进行深层次的克隆的话那么就要自己写(详细Clone方法请參考 ...

  4. HTML5中Modernizr类库的作用和使用

    Modernizr 是一个用来检测浏览器功能支持情况的JavaScript 库.通过这个库我们可以检测不同的浏览器对于HTML5特性的支持情况. 使用Modernizr类库和使用其他第三方类库的方法是 ...

  5. ArcGIS engine中Display类库——Display

    转自原文  ArcGIS engine中Display类库——Display Display类库包括了用于显示GIS数据的对象.除了负责实际输出图像的主要显示对象(display object)外,这 ...

  6. ArcGIS engine中Display类库 (局部刷新)

    转自原文 ArcGIS engine中Display类库 (局部刷新) Display类库包括了用于显示GIS数据的对象.除了负责实际输出图像的主要显示对象(display object)外,这个类库 ...

  7. 在Android中开源类库使用过程中兼容性等问题的讨论

    1.在Android4.0环境下编译的actionbarsherlock.slidingmenu类库,能不能在4.0以下的版本中使用 相信很多人跟我一样,都以为在低版本(如Android2.1或2.3 ...

  8. 在Visual Studio 2010 中创建类库(dll)

    创建类库 选择"文件"->新建->项目->Visual C# ->类库,输入名称,选择位置,单击确定 浏览解决方案资源管理器,可以看到两个C#类,第一个是A ...

  9. thinkphp中的类库与引用import引入机制

    ThinkPHP的类库包括基类库和应用类库 控制器类 模块名+Action 例如 UserAction.InfoAction 模型类 模型名+Model 例如 UserModel.InfoModel ...

  10. 消除Xcode 5中JosnKit类库的bit masking for introspection of objective-c 警告

    Xcode 5中苹果对多个系统框架及相关类库进行了改进.之前建立的项目在Xcode 5中重新编译会产生一些新问题. JosnKit是常用的轻量级Josn解析类,在Xcode 5中: BOOL work ...

随机推荐

  1. struts2注解redirect传递参数解决方案时,中国的垃圾问题

    struts2注解redirect传递参数解决方案时,中国的垃圾问题 试过很多方法  tomcat 编码  .字符串转换 .URLEncoder  .. 但是,没有解决方案,然后仔细阅读   stru ...

  2. 实现关闭ssh继续实施方案---tmux

    问题1:为什么ssh一个关闭.不再执行的程序 罪魁祸首:SIGHUP 信号 让我们来看看为什么关掉形式/断开将使程序被执行死. 在Linux/Unix在.有几个概念: 进程组(process grou ...

  3. 图解IntelliJ IDEA v13应用服务器的运行配置

    初步了解IntelliJ IDEA v13应用服务器以后,接下来我们将继续设置应用服务器的运行配置. Artifacts是IDE在通过运行配置时部署的一个服务.Artifacts包括名称.类型.输出目 ...

  4. 用erlang写的kmp算法

    Knuth-Morris-Pratt 字符串查找算法,简称为 "KMP算法",常用于在一个文本串S内查找一个模式串P 的出现位置,这个算法由Donald Knuth.Vaughan ...

  5. WinXP 无线技巧“区域没有通过无线网络中的发现”一个可能的原因!

    貌似WinXP经典或无限.我一直沿用至今,我不知道这一天会放弃. 遇到的问题,也许有XP爱好者都遇到过还得看,写下一点文字注释.----------------------- 切割线 -------- ...

  6. 【转】 Android用于提示等待的ProgressDialog

    原文地址:http://blog.csdn.net/wleing/article/details/6086321 为了安抚用户等待的焦急心情,我们用ProgressDialog.它的用法书上有例子,就 ...

  7. javascript转换.net DateTime方法 (比如转换\/Date(1426056463000)\/)

    function getDate(str_time) { var re = new RegExp('\\/Date\\(([-+])?(\\d+)(?:[+-]\\d{4})?\\)\\/'); va ...

  8. 一种解决Code Map与ReSharper冲突导致Visual Studio 2013 Peek Definition失效的办法

    更正 3月6号: 经再次测试,单独使用Code Map或ReSharper,对Visual Studio的Peek Definition无影响,但是两者一起使用时,Peek Definition失效, ...

  9. C#函数式程序设计之函数、委托和Lambda表达式

    C#函数式程序设计之函数.委托和Lambda表达式 C#函数式程序设计之函数.委托和Lambda表达式   相信很多人都听说过函数式编程,提到函数式程序设计,脑海里涌现出来更多的是Lisp.Haske ...

  10. 笔试总结篇(一) : 广州X公司笔试

    一.单选题: Ps : 当时由于去广州路上颠簸很困,导致刚做几分钟题目就睡了一觉.起来发现20分钟过去了.擦擦! 1. 假设磁盘文件foobar.txt 由 6个ASCII 码字符“foobar” 组 ...