今天在看书的时候遇到一个问题,希望各位大哥能帮忙解答下:
我定义了一个数组int[] int1 = new int[2]{1,2};
然后把定义另一个数组,并个int1指给它int[] int2 =int1;
然后问题在这边:
第一次我先把int1[1]的值改成int[1]=5,然后再去执行的话int2[1]的值也会变成5
但是为什么我用int2[1]=5来改变值的话,再去执行,系统就执行不了.....(也没有提示出错,就一直停在那边)
这个是为什么啊.....
我定义了一个数组int[] int1 = new int[2]{1,2};
然后把定义另一个数组,并个int1指给它int[] int2 =int1;
然后问题在这边:
第一次我先把int1[1]的值改成int[1]=5,然后再去执行的话int2[1]的值也会变成5
但是为什么我用int2[1]=5来改变值的话,再去执行,系统就执行不了.....(也没有提示出错,就一直停在那边)
这个是为什么啊.....
解决方案 »
- 启动cmd被360拦截问题
- 如何用程控Excel开启Excel檔
- 在C#的SOCKET编程中如何去传递如字体之类的信息
- 高手请帮帮忙!如何用C#读取MBR?
- 读二进制数据,不转换成文本文件,直接去读,怎么做?
- VS2012和InstallShield 安装问题
- WPF引用OCX组件
- 高手今天都休息?我的DATAROW问题半天无人问津。(在线,马上派分)
- .NET FrameWork 1.0 与 1.1 版本能否同时安装在同一个操作系统下。
- 怎样用程序控制datagrid的当前行,也就是编程移动行前的小箭头?
- C# 中datagrid表中列宽度如何设置 谢谢!! 急急急!!!!
- 为什么Myadapter.Fill(ds,"表1");不能把DATASET的数据增加到数据库里
int[] int2 =int1;
for(int i=0;i<int1.Length;i++)
{
Response.Write("Old int1[" + i+"]= "+int1[i].ToString() +"<br/>");
}
for(int i=0;i<int2.Length;i++)
{
Response.Write("Old int2[" + i + "]= "+int2[i].ToString() +"<br/>");
}
<font color="red">int2[1]=5;</font>
for(int i=0;i<int1.Length;i++)
{
Response.Write("New int1[" + i+"]= "+int1[i].ToString() +"<br/>");
}
for(int i=0;i<int2.Length;i++)
{
Response.Write("New int2[" + i + "]= "+int2[i].ToString() +"<br/>");
}
这个是不会出错,但是一直停在那边的
int[] int1 =new int[2]{1,2};
int[] int2 =int1;
for(int i=0;i<int1.Length;i++)
{
Response.Write("Old int1[" + i+"]= "+int1[i].ToString() +"<br/>");
}
for(int i=0;i<int2.Length;i++)
{
Response.Write("Old int2[" + i + "]= "+int2[i].ToString() +"<br/>");
}
<font color="red">int1[1]=5;</font>
for(int i=0;i<int1.Length;i++)
{
Response.Write("New int1[" + i+"]= "+int1[i].ToString() +"<br/>");
}
for(int i=0;i<int2.Length;i++)
{
Response.Write("New int2[" + i + "]= "+int2[i].ToString() +"<br/>");
}
这个是可以执行的,区别就在红色部分
http://topic.csdn.net/u/20071029/14/654c77f9-0192-420f-b167-243ef868ff6d.html