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 编辑 ]