class Country
{
public City[] Cities; public Country(int index)
{
Cities =new City[index];
}
}
class City
{
public int[] man=new int[2];
public int population;
Country newCountry;//= Country(); public City(Country newCountry)
{
this.newCountry = newCountry;
} public object Clone()
{
return MemberwiseClone();
} public void Step()
{
man[0] = 10;
population=20;
}
} class Program
{
static void Main(string[] args)
{
Country country1 = new Country(1);
country1.Cities[0] = new City(country1 );
country1.Cities[0].population = 10; City city2;
city2 = (City)country1.Cities[0].Clone();
city2.Step();
}
}
step()后,
city2.population=10,city2.man[0]=10,
country1.cities[0].population=10, country1.cities[0].man[0]=10跟着变了。
怎么修改复制。谢谢。
{
public City[] Cities; public Country(int index)
{
Cities =new City[index];
}
}
class City
{
public int[] man=new int[2];
public int population;
Country newCountry;//= Country(); public City(Country newCountry)
{
this.newCountry = newCountry;
} public object Clone()
{
return MemberwiseClone();
} public void Step()
{
man[0] = 10;
population=20;
}
} class Program
{
static void Main(string[] args)
{
Country country1 = new Country(1);
country1.Cities[0] = new City(country1 );
country1.Cities[0].population = 10; City city2;
city2 = (City)country1.Cities[0].Clone();
city2.Step();
}
}
step()后,
city2.population=10,city2.man[0]=10,
country1.cities[0].population=10, country1.cities[0].man[0]=10跟着变了。
怎么修改复制。谢谢。
{
public int[] man = new int[2];
public int population;
Country newCountry;//= Country(); public City(Country newCountry)
{
this.newCountry = newCountry;
} public void Step()
{
man[0] = 10;
population = 20;
} #region ICloneable 成员 public object Clone()
{
City newCity = new City(this.newCountry);
for(int i = 0; i < this.man.Length; i++)
{
newCity.man[i] = this.man[i];
}
newCity.population = this.population;
return newCity;
} #endregion
}