补充:

            1:在C语言里 char占1个字节 而在C#,Java里char占两个字节 数据库里char 中汉占两个字节 字母数字占一个字

            2:string是c#中的类,String是.net Framework的类 string是关键字,也就是说string不能作为类、结构、枚举、字段、变量、方法、属性的名称,而String可以

一:  string是引用类型

但是当一个string类型的参数赋值给另一个参数时,只给了值,而不是地址,因为它保留在堆上,而不是堆栈上

namespace Stringop
{
class Program
{
static void Main(string[] args)
{
string str1 = "lipeng";
string str2 = str1; Console.WriteLine("str1=" + str1);
Console.WriteLine("str2=" + str2); str1 = "newlipeng"; Console.WriteLine("str1=" + str1);
Console.WriteLine("str2=" + str2); } }
}

二:常用函数

1.all

//all函数
//确定序列中的所有元素是否满足条件。
bool isSure = str1.All(p => p > 'b'); Console.WriteLine(isSure);

2.CompareTo

//CompareTo
//返回一个值,该值指示指定的 System.String 对象是否出现在此字符串中。
// 一个 32 位有符号整数,该整数指示此实例在排序顺序中是位于 value 参数之前、之后还是与其出现在同一位置。值条件小于零此实例位于 str2
// 之前。零此实例在排序顺序中的位置与 str2 相同。大于零此实例位于 str2 之后。- 或 -str2 为 null。
str2 = "newlipenaa";
int lp = str1.CompareTo(str2); Console.WriteLine(lp);

3.Contains

//Contains
//返回一个值,该值指示指定的 System.String 对象是否出现在此字符串中。
bool isContain = str1.Contains("a"); Console.WriteLine(isContain);

4.Count

//Count
//返回一个数字,表示在指定的序列中满足条件的元素数量。
int count = str1.Count(p => p == 'e' || p == 'l'); Console.WriteLine(count);

5.IndexOf

//IndexOf
//报告指定 Unicode 字符在此字符串中的第一个匹配项的索引。
int index = str1.IndexOf('a'); Console.WriteLine(index); string strs = str1.Substring(1, 3); Console.WriteLine(strs);

6.Split

//Split
//返回的字符串数组包含此实例中的子字符串(由指定 Unicode 字符数组的元素分隔)。
string[] lsStr = str1.Split(new char[] { ',', 'e' }); foreach (string a in lsStr)
{
Console.WriteLine(a);
}

7.Trim 和TrimEnd

//Trim
//从当前 System.String 对象移除所有前导空白字符和尾部空白字符。
//TrimEnd
//从当前 System.String 对象移除数组中指定的一组字符的所有尾部匹配项。
string strspace = " aaa s"; Console.WriteLine(strspace);
Console.WriteLine(strspace.Trim());
Console.WriteLine(strspace.TrimEnd('s'));

8.PadLeft

//PadLeft
//返回一个新字符串,该字符串通过在此实例中的字符左侧填充指定的 Unicode 字符来达到指定的总长度,从而使这些字符右对齐。
string padstr = str1.PadLeft(20, 'a'); Console.WriteLine(padstr);

9.Replace

//Replace
//返回一个新字符串,其中此实例中出现的所有指定 Unicode 字符都替换为另一个指定的 Unicode 字符。
string replacestr = str1.Replace('a', 'h'); Console.WriteLine(replacestr);

10.Equals

//Equals
//确定此实例是否与另一个指定的 System.String 对象具有相同的值。
bool isequal = str1.Equals(replacestr); Console.WriteLine(isequal);

11.ToUpper

           //ToUpper
//返回此字符串转换为大写形式的副本。
string upstr1 = str1.ToUpper(); Console.WriteLine(upstr1);
 

三:可变字符串StringBuilder

      StringBuilder建立的对象可操作性更强:

       经常改变内容的字符串最好不要用 String ,因为每次生成对象都会对系统性能产生影响,特别当内存中无引用对象多了以后, 那速度是一定会相当慢的。而如果是使用 StringBuffer 类则结果就不一样了,每次结果都会对 StringBuilder对象本身进行操作,而不是生成新的对象,再改变对象引用。所以在一般情况下推荐使用 StringBuilder,特别是字符串对象经常改变的情况下。

           简单例子

             StringBuilder sber = new StringBuilder();
//最加字符串 ouput: lipeng,aaa,bbb
sber.Append("lipeng,aaa,bbb"); Console.WriteLine(sber); //移除li ouput: peng,aaa,bbb
sber.Remove(0, 2); Console.WriteLine(sber); //获取长度 ouput:12
int sberlength = sber.Length; Console.WriteLine(sberlength); //转化为string类型时就具有了string类型的方法
string lps = sber.ToString().Trim();

四:其他知识点

string类型的count和length结果是一样的 是string中char类型的个数  而string数组只能用一个计数器来记录个数 

C#string常用函数总结的更多相关文章

  1. C++ string 常用函数

    C++ String常用函数 一,类型别名 size_type 无符号整型 iterator 迭代器类型 const_iterator 只读迭代器 reverse_iterator 逆序迭代器 con ...

  2. 【STL】string 常用函数

    string类的构造函数: string(const char *s); //用c字符串s初始化 string(int n,char c); //用n个字符c初始化 此外,string类还支持默认构造 ...

  3. 【转】string常用函数

    原文地址:http://hi.baidu.com/baowup/blog/item/3a27465c86d71546faf2c066.html/cmtid/de1ef3f0de7554a0a40f52 ...

  4. String 类的实现(5)String常用函数

      2 #include<iostream> 3 #include<stdio.h> 4 #include<assert.h> 5 #include <iom ...

  5. stl string常用函数

    string类的构造函数: string(const char *s); //用c字符串s初始化 string(int n,char c); //用n个字符c初始化 此外,string类还支持默认构造 ...

  6. C++中的string常用函数用法

    标准c++中string类函数介绍   注意不是CString 之所以抛弃char*的字符串而选用C++标准程序库中的string类,是因为他和前者比较起来,不必 担心内存是否足够.字符串长度等等,而 ...

  7. c++标准库中的string常用函数总结《转》

    标准C++中的string类的用法总结 相信使用过MFC编程的朋友对CString这个类的印象应该非常深刻吧?的确,MFC中的CString类使用起来真的非常的方便好用.但是如果离开了MFC框架,还有 ...

  8. STL string 常用函数(转)

    string类的构造函数: string(const char *s); //用c字符串s初始化 string(int n,char c); //用n个字符c初始化 此外,string类还支持默认构造 ...

  9. c++中的string常用函数用法总结!

    标准c++中string类函数介绍 注意不是CString 之所以抛弃char*的字符串而选用C++标准程序库中的string类,是因为他和前者比较起来,不必 担心内存是否足够.字符串长度等等,而且作 ...

随机推荐

  1. zabbix监控linux文件的一个目录大小

    监控linux文件的一个目录大小 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任.       欢迎加入:高级运维工程师之路 598432640 我们知道,Linux自带的一些监控模板 ...

  2. 很赞的PHP字符串加密函数

    最近, 从discuz里面发现了一个很牛的加密解密函数. 此函数的厉害之处在于可以在指定时间内加密还原字符串,超时无法还原 这样我们就可以拿此函数来做很多用途了,比如:单点登录的token加密传输啦, ...

  3. EJS 是什么 ,怎么用,以及优点

    一.什么是EJS EJS是一个JavaScript模板库,用来从JSON数据中生成HTML字符串. 二.为什么要使用EJS 与最初的JavaScript相比较,一些不太了解你的代码的人可以更容易地通过 ...

  4. 找区间连续值(HDU5247)

    找连续数 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submis ...

  5. 01分数规划POJ3621(最优比例生成环)

    Sightseeing Cows Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 8218   Accepted: 2756 ...

  6. 封装pdo单例模式类

    <?php /** * MyPDO * @author Jason.Wei <jasonwei06@hotmail.com> * @license http://www.sunblo ...

  7. ZOJ 2112 Dynamic Rankings(主席树の动态kth)

    题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=2112 The Company Dynamic Rankings ...

  8. python函数传参是传值还是传引用?

    首先还是应该科普下函数参数传递机制,传值和传引用是什么意思? 函数参数传递机制问题在本质上是调用函数(过程)和被调用函数(过程)在调用发生时进行通信的方法问题.基本的参数传递机制有两种:值传递和引用传 ...

  9. 【NOIP模拟赛】工资

    工资 [试题描述] 聪哥在暑假参加了打零工的活动,这个活动分为n个工作日,每个工作日的工资为Vi.有m个结算工钱的时间,聪哥可以自由安排这些时间,也就是说什么时候拿钱,老板说的不算,聪哥才有发言权!( ...

  10. 读 《JavaScript: The Good Parts》 有感

    提炼出一门语言或技术的 Good Parts, 使用该子集去构造健壮稳固的应用. 我们总是倾向于去学习和使用所有的语言特性,好像凡是新的,凡是提供了的, 就有必要去使用: 这本书告诉我们, 要有选择性 ...