1、字符串的定义
string str="我是一个字符串asdfg";
string str1=new string(new char[]{'1','一','a'});
string str2=new string('c',3); // 也就是 "ccc"
字符串当做数组用,但是这里的数组表示法str[i],是只读的。
for(int i=0;i<str.length;i++){ Console.WriteLine(str[i]);}
字符串转换为数值
char[] chs=str.ToCharArray();
2、字符串的不变性(虽然string是引用类型的)
string str="1234"; string str1=str ; str="567"; 此时str1还是 "1234"
3、常见字符串属性与方法
1、比较 str1.Equals(str2) 、==、Compare()(int string.Compare(str1,str2,bool))
2、转化大小写:str.ToUpper、str.ToLower
3、修整: str.Tirm()去掉前后空格,
str.Tirm(']','[')去掉前后特殊字符
TrimEnd、TrimStart
4、合并与分割
//合并字符串数组
string[] strs={"姓名1","姓名2","姓名3","姓名4"};
string str=string.Join("|",strs);//得到一个字符串由|分割
//切割字符串成数组
string path=@"c:\Windows\System32\1.dll";
string[] paths=path.Split('\\');
5、查找:
IndexOf()、IndexOfAny()、LastIndexOf()
找出字符串中所以出现"dede"的索引值
string str=@"D:\Music\dede_专辑\dede_天黑\dede_专辑\dede_\dede_专辑\dede_天黑黑天黑黑黑.mp3";
int index = -1;
do
{
index = str.IndexOf("dede", index + 1);
if (index != -1)
{
Console.WriteLine(index);
}
}
while (index != -1);
6、子字符串
1、string str.Substring(index) 从index开始到结束的所有部分
2、string str.Substring(index, Length);
7、格式化字符串
string.Format();
走马灯效果
string str = "我是一个走马灯";
while (true)
{
Console.Clear();
string head = str[0].ToString();
string body = str.Substring(1);
str = body + head;
Console.WriteLine(str);
System.Threading.Thread.Sleep(200);
}
8、字符串的插入、移除和替换
str.Insert(int index,string str);
str.Remove(int index,int N);
str.Replace(string strOld,stringNew)
9、判断开始和结尾
string path = @"D:\123\456\happy2000.wma";
if (path.EndsWith(".mp3"))
10、把.csv的逗号分隔符数据文件读取到数组中间
string[] lines = File.ReadAllLines(@"C:\123.csv",Encoding.Default);
4、字符串拼接用 StringBuilder 效率比s tr+= 高处很多
StringBuilder sb = new StringBuilder();
// Append
// ToString()
// AppendLine
// AppentFormat
5、Equals比较
字符串的比较用Equals与==效果一样
在自定义类中,可以重新Equals方法,实现指定类型间的比较
class MyClass
{
public int num;
public override bool Equals(object obj)
{
MyClass m = obj as MyClass;
if (m == null)
{
return false;
}
return this.num == m.num;
}
public static bool Equals(MyClass m1, MyClass m2)
{
return m1.num == m2.num;
}
}
文件操作中:
1、读取每一行指定路径的文件
File.ReadAllLines(string path,Encoding encoding);
2、获取指定目录下指定类型文件的文件名
string strFilePath=Directory.GetFiles("D:\Data\","*.jpg");
3、获取指定文件路径字符串中的路径
string dirPath=Path.GetDirectoryName(fileName);
比如:fileName="d:\data\123.jpg", dirPath="d:\data"