| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 659 人关注过本帖
标题:C# STRING[] 处理问题,求解!
只看楼主 加入收藏
randy0725
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2006-4-28
结帖率:0
收藏
已结贴  问题点数:20 回复次数:3 
C# STRING[] 处理问题,求解!
今天听我的学哥做发表的时候,讲述了secure coding,里面有一个例子,是关于Java处理字符串数组的问题。
我用的是C#,代码很简单,但是其中出现问题了。
我先把代码贴出来:
class classobj
    {
        private string[] color;
        public classobj(string[] color)
        {
            this.color = color;
        }
        public void printcolor()
        {
            for (int i = 0; i < color.Length; i++ )
            {
                Console.WriteLine(color[i].ToString());
            }
        }
    }
    class Program
    {
        static void Main(string[] args)
        {
            string[] color = new string[3];
            color[0] = "red";
            color[1] = "blue";
            color[2] = "yellow";
            classobj obj = new classobj(color);
            obj.printcolor();
            color[0] = "green";
            obj.printcolor();
            Console.ReadLine();
        }
    }
第一次输出的时候,现在的肯定是
red
blue
yellow
但是,我把color的值从新赋过之后,结果就成了
green
blue
yellow
我想问问是为什么,如何去改进呢?我还没有来的及问我的学哥。请赐教!

[ 本帖最后由 randy0725 于 2009-8-25 12:52 编辑 ]
搜索更多相关主题的帖子: STRING 求解 
2009-08-25 12:50
baikil
Rank: 10Rank: 10Rank: 10
来 自:X星球
等 级:青峰侠
威 望:4
帖 子:282
专家分:1580
注 册:2009-7-20
收藏
得分:10 
public classobj(string[] color)
{
    this.color = color;  -->两个数组的地址指向了同一的地址.
}
换的方法好多.只要两个变量不要指向了同一地址便可
如:
public classobj(string[] color)
{
  this.color=new string[color.length];
  for(int i=0;i<color.length;i++)
    {   
        this.color[i]=color[i];
    }
}


自创QQ群64885635,方便C#学习交流.希望各项工作路好学都好入!
2009-08-25 13:52
jedypjd
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:9
帖 子:1096
专家分:4969
注 册:2009-7-27
收藏
得分:10 
回复 2楼 baikil
两个数组的地址指向了同一的地址???形参和实参怎么会是同个地址呢

天涯无岁月,歧路有风尘,百年浑似醉,是非一片云
2009-08-25 19:41
baikil
Rank: 10Rank: 10Rank: 10
来 自:X星球
等 级:青峰侠
威 望:4
帖 子:282
专家分:1580
注 册:2009-7-20
收藏
得分:0 
引用类型不管是什么形参与实能public classobj(string[]color)---public classobj(ref string[] color)的效果

[ 本帖最后由 baikil 于 2009-8-26 10:40 编辑 ]

自创QQ群64885635,方便C#学习交流.希望各项工作路好学都好入!
2009-08-26 09:00
快速回复:C# STRING[] 处理问题,求解!
数据加载中...
 
   



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

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