string/String类型作为参数是传值还是传址_AX
最近发现一道ASP.NET笔试题考察传值还是传址,简单看了一下,突然发现答案中分析:
string类型参数为传值....严重与我观念中的为传址(引用)冲突.故做以下测试
输出结果真的令我伤心.
结果:AX
【注】String类型的结果相同
验证其为传值.
为什么我把它当成传址呢?而且我清楚记得string是对象类型,如果是对象类型,当然是传址.
难道是Java中这么定义的?
string类型参数为传值....严重与我观念中的为传址(引用)冲突.故做以下测试
1
using System;
2
using System.Collections.Generic;
3
using System.Text;
4![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
5
namespace TestString
6
{
7
class TestString
8
{
9
public static void Main()
10
{
11
string s = "AX";
12
Change(s);
13
Console.WriteLine(s);
14
Console.ReadLine();
15
}
16![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
17
private static void Change(string s)
18
{
19
s = "zhz";
20
}
21
}
22
}
23![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
2
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
3
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
4
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
5
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
6
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
7
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
8
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
9
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
10
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
11
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
12
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
13
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
14
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
15
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
16
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
17
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
18
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
19
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
20
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
21
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
22
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
23
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
输出结果真的令我伤心.
结果:AX
【注】String类型的结果相同
验证其为传值.
为什么我把它当成传址呢?而且我清楚记得string是对象类型,如果是对象类型,当然是传址.
难道是Java中这么定义的?
少帮主的斧头好久不饮血了!