string 字符串的不可变性

1.字符串的不可变性

using System;
					
public class Program
{
	public static void Main()
	{   
		string str1 = "name";
		string str2 = "name";
		string str3 = "age";
		Console.WriteLine(str1.GetHashCode());   //62725243
		Console.WriteLine(str2.GetHashCode());   //62725243
	   
		str3 = "bbb";
		Console.WriteLine(str3.GetHashCode());   //2103075710
		Console.WriteLine(str3[2]);//b
	    //1.将字符串转换成char类型的数组,用ToCharArray()方法
		char[] st = str3.ToCharArray();
		//2.将st【2】变更为'h'
		st[2]='h';
		Console.WriteLine(st[2]);//h
		//3将字符数组转换成字符串
		str3 = new string(st); 
		//4.打印验证----以上是垃圾代码,可以直接给str3赋值bbh
		Console.WriteLine(str3);//bbh
		Console.WriteLine("--------------");
	}
}

2.可以将string类型,看做一个char类型的一个数组。

既然可以将string看做是一个str类型的只读数组,可以通过下标去访问字符串中的某一个元素。

string str = “abcdefg”;

3. StringBuilder 类,在using System.Text命名空间中

using System;
using System.Diagnostics;	
using System.Text;

public class Program
{
	public static void Main()
	{
		string  str  = null;
		Stopwatch sw = new Stopwatch();//创建了一个计时器
		sw.Start();//开始计时
		for(int i =0;i<10000;i++)
		{
		   str+=i;
		}
		Console.WriteLine("string时间,不住的开立空间");
	    sw.Stop();//结束计时
	    Console.WriteLine(sw.Elapsed);//获取开始-到-结束运行时间

		
        StringBuilder sb = new StringBuilder();
		Stopwatch sw1 = new Stopwatch();
		sw1.Start();
		for(int i =0;i<100000;i++)
		{
		   sb.Append(i);
		}
		Console.WriteLine("StringBuilder时间,用的是一块空间...");
	    sw1.Stop();//结束计时
	    Console.WriteLine(sw1.Elapsed);//获取开始-到-结束运行时间
	}
}

运行结果:

string时间
00:00:00.0804217
StringBuilder时间,用的是一块空间...
00:00:00.0131502

4.string类内置的方法

  • 29
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值