当前位置:  编程技术>.net/c#/asp.net

C#中string和StingBuilder内存中的区别实例分析

    来源: 互联网  发布时间:2014-11-04

    本文导语:  本文实例分析了C#中string和StingBuilder内存中的区别,有助于更好的掌握C#程序设计中string和StingBuilder的用法。分享给大家供大家参考。具体方法如下: 关于 string和StringBuilder的区别参考MSDN。本文用程序演示它们在内存中的区别...

本文实例分析了C#中string和StingBuilder内存中的区别,有助于更好的掌握C#程序设计中string和StingBuilder的用法。分享给大家供大家参考。具体方法如下:

关于 string和StringBuilder的区别参考MSDN。本文用程序演示它们在内存中的区别,及其因此其行为不同。

先来看看下面这段代码:

//示例: string 的内存模型
namespace ConsoleApplication2
{
  class Program
  {
    static void Main(string[] args)
    {
      string a = "1234";
      string b = a;//a,and b point to the same address
      Console.WriteLine(a);
      Console.WriteLine(b);
 
      a = "5678";
      Console.WriteLine(a);
      Console.WriteLine(b);//That b's value is not changed means string's value cann't be changed

      Console.ReadKey();
    } 
  }
}

输出:

1234
1234
5678;change a's value,b's value is not changed
1234

//示例: StringBuilder 的内存模型
namespace ConsoleApplication3
{
  class Program
  {
    static void Main(string[] args)
    {
      StringBuilder a = new StringBuilder("1234");
      StringBuilder b = new StringBuilder();
      b = a;
      a.Clear();
      a.Append("5678");
      Console.WriteLine(a);
      Console.WriteLine(b);
      Console.ReadKey();
    }
    
  }
}

输出:
5678
5678

希望本文所述对大家的C#程序设计有所帮助。


    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • java命名空间java.lang类string的类成员方法: string定义及介绍
  • 请告知一下String s1 = "mm"; 与String s1 = new String("mm");的区别!
  • C++ Bitsets 成员 to_string():返回bitset的字符串表示
  • String s = new String() 和 String s= null;有什么区别?
  • java命名空间javax.xml.xpath类xpathconstants成员方法: string定义参考
  • 已知a=1,b=2 String string="a+b";如何将string转化为表达式,并计算结果
  • java命名空间javax.management.openmbean类simpletype<t>的类成员方法: string定义及介绍
  • 对String.indexOf(String str,int fromIndex);和lastIndexOf(String str, int fromIndex);的困惑!
  • java命名空间java.io接口objectstreamconstants的类成员方法: tc_string定义及介绍
  • 问个低级的问题:我从库里取汉字时候,代码如下:String ls=ob.test(i);String dbstr1= new String(ls.getBytes("ISO-8859-1"),"GBK");
  • java命名空间javax.xml.ws.handler接口messagecontext成员方法: query_string定义参考
  • String a="123"与String a=new String("123")出来的两个a,b之间有什么区别???
  • C++ Strings(字符串) 成员 get_allocator():返回配置器
  • static String和String如何互相赋值?
  • C++ Strings(字符串) 成员 at():按给定索引值返回字符
  • 请问“new String[]{(String ) ob}”怎么理解??
  • C++ Strings(字符串) 成员 empty():如果字符串为空,返回真
  • 内容是String[]的Object用什么最简单办法转变回String[]
  • C++ Strings(字符串) 成员 begin():返回一个迭代器,指向第一个字符
  • 请问String.equals()和String.equalsIgnoreCase()有什么区别啊?
  • C++ Strings(字符串) 成员 data():返回内容的字符数组形式
  • 问一个简单问题,String和String Buffer有什么区别?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3