C#string常用函数总结
补充:
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常用函数总结的更多相关文章
- C++ string 常用函数
C++ String常用函数 一,类型别名 size_type 无符号整型 iterator 迭代器类型 const_iterator 只读迭代器 reverse_iterator 逆序迭代器 con ...
- 【STL】string 常用函数
string类的构造函数: string(const char *s); //用c字符串s初始化 string(int n,char c); //用n个字符c初始化 此外,string类还支持默认构造 ...
- 【转】string常用函数
原文地址:http://hi.baidu.com/baowup/blog/item/3a27465c86d71546faf2c066.html/cmtid/de1ef3f0de7554a0a40f52 ...
- String 类的实现(5)String常用函数
2 #include<iostream> 3 #include<stdio.h> 4 #include<assert.h> 5 #include <iom ...
- stl string常用函数
string类的构造函数: string(const char *s); //用c字符串s初始化 string(int n,char c); //用n个字符c初始化 此外,string类还支持默认构造 ...
- C++中的string常用函数用法
标准c++中string类函数介绍 注意不是CString 之所以抛弃char*的字符串而选用C++标准程序库中的string类,是因为他和前者比较起来,不必 担心内存是否足够.字符串长度等等,而 ...
- c++标准库中的string常用函数总结《转》
标准C++中的string类的用法总结 相信使用过MFC编程的朋友对CString这个类的印象应该非常深刻吧?的确,MFC中的CString类使用起来真的非常的方便好用.但是如果离开了MFC框架,还有 ...
- STL string 常用函数(转)
string类的构造函数: string(const char *s); //用c字符串s初始化 string(int n,char c); //用n个字符c初始化 此外,string类还支持默认构造 ...
- c++中的string常用函数用法总结!
标准c++中string类函数介绍 注意不是CString 之所以抛弃char*的字符串而选用C++标准程序库中的string类,是因为他和前者比较起来,不必 担心内存是否足够.字符串长度等等,而且作 ...
随机推荐
- 一款不错的多选下拉列表利器—— Ext.ux.form.SuperBoxSelect
在B/S系统中,下拉列表(select/dropdownlist/combobox)的应用随处可见,为了增强用户体验,开发人员也常常会做一些带联想功能的下拉列表, 特别是数据项比较多的时候,用户筛选起 ...
- Java数据库操作大全
1.提取单条记录 //import java.sql.*; Connection con=null; Statement stmt=null; ResultSet %%6=null; try { Cl ...
- IOS推荐学习网站
1> 个人博客:技术大牛 唐巧:http://blog.devtang.com/blog/archives/ 王巍:http://www.onevcat.com 破船之家:http://beyo ...
- PostgreSQL单机、同步复制、异步复制性能测试对比
测试环境: •测试机:PC •内存:8GB •CPU:Intel(R) Core(TM) i5-3450 3.10GHz •硬盘:HDD •数据量:20GB •测试工具:pgbench •Postgr ...
- 创建Java类并实例化的基本过程
package com.sanguosha.java; /* * 面向对象实现的过程 * 1.创建类并设计类的成员(成员变量即属性and成员方法即方法) * 2.通过类来创建类的对象,也称类的实例化 ...
- 如何不切换windows登陆用户,更换用户名访问共享文件夹
@echo offnet use * /del /ynet use \\192.168.2.1 /user:wr@echo off 先进行删除所有,然后在进行映射,按照部门来,不同的部门可能需要映射的 ...
- MFC架构
MFC的六大关键技术: 1)MFC程序的初始化过程 2)消息映射 3)运行时类型识别(RTTI) 4)动态创建 5)永久保存 6)消息传递 一.MFC的初始化过程: MFC的架构组成: 1.要有CWi ...
- [转] java书籍(给Java程序猿们推荐一些值得一看的好书 + 7本免费的Java电子书和教程 )
7本免费的Java电子书和教程 1. Thinking in Java (Third Edition) 本书的作者是Bruce Eckel,它一直都是Java最畅销的免费电子书.这本书可以帮助你系统的 ...
- 【linux】暂时解决sis m672(神舟F4000 D9) linux驱动 宽屏分辨率的问题?
1. 首先安装包 sudo apt-get install gcc make binutils git xorg-dev mesa-common-dev libdrm-dev libtool buil ...
- 解决Android SDK Manager更新下载速度慢
1.在Host文件加上 203.208.46.146 www.google.com 74.125.113.121 developer.android.com 203.208.46.146 dl.goo ...