| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 394 人关注过本帖
标题:值类型与引用类型
只看楼主 加入收藏
rgbtdkjcel
Rank: 1
等 级:新手上路
帖 子:294
专家分:0
注 册:2007-3-26
结帖率:50%
收藏
 问题点数:0 回复次数:2 
值类型与引用类型
在c sharp 中。。string 为引用类型。。但是在下例中:

using System;
namespace aaa
{
class aaaa
{

public static void Main()
{
string a="abcd";
string b=a;
a="cdafakfj";
Console.WriteLine(b);
}
}
}
为何最后b的值还是abcd呢??这一点是不是说明string也是值类型呢???
搜索更多相关主题的帖子: 类型 
2007-09-19 19:30
jxnuwy04
Rank: 2
等 级:新手上路
威 望:4
帖 子:768
专家分:0
注 册:2006-9-15
收藏
得分:0 
就好比如下
int[] a=new int[5]{1,2,3,4,5};
int[] b=new int[5];
for(int i=0;i<5;i++)
{
b[i]=a[i];
}
for(int i=0;i<5;i++)
{
a[i]=i+5;
}
for(int i=0;i<5;i++)
{
Console.Write(a[i]);
}
for(int i=0;i<5;i++)
{
Console.Write(b[i]);
}
这两个的输出结果应该不一样吧,难道你能说数组不是引用类型吗?

------------------不为别的,就为你,我的理想!-----------------
2007-09-19 19:48
jasonxie
Rank: 1
等 级:新手上路
威 望:2
帖 子:225
专家分:0
注 册:2007-3-19
收藏
得分:0 
string对象保存在堆上而不是堆栈上,是引用类型的,因而当把一个字符串变量赋给另一个字符串时,会得到对内存中同一个字符串的两个引用.然后,修改其中一个字符串,注意这会创建一个完全新的string对象,而另一个字符串没改变!
string a="abcd";
string b=a;
a="cdafakfj";
b = a; //添加一句,就可以输出cdafakfj
Console.WriteLine(b);

你是我心内的一首歌,不要只是个过客;在我生命留下一首歌,无论结局会如何.
2007-09-19 20:05
快速回复:值类型与引用类型
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.025332 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved