В языке C# отсутствует конструктор копии. Если создан новый объект и требуется скопировать значения из существующего объекта, необходимо создать соответствующий метод самостоятельно.
Main.cs
using
System;
class
One {
-
int
val;
-
public
One(
int
arg) {
-
val = arg;
-
}
-
//конструктор копий
-
public
One(One obj) {
-
val = obj.val;
-
}
-
public
int
GetValue() {
-
return
val;
-
}
}
class
Program {
-
public
static
int
Main() {
-
One O1 =
new
One(10);
-
Console.WriteLine(O1.GetValue());
-
//копируем объект
-
One O2 =
new
One(O1);
-
Console.WriteLine(O2.GetValue());
-
Console.ReadKey();
-
return
0;
-
}
}
using
System;
class
One {
-
int
val;
-
public
One(
int
arg) {
-
val = arg;
-
}
-
//конструктор копий
-
public
One(One obj) {
-
val = obj.val;
-
}
-
public
int
GetValue() {
-
return
val;
-
}
}
class
Program {
-
public
static
int
Main() {
-
One O1 =
new
One(10);
-
Console.WriteLine(O1.GetValue());
-
//копируем объект
-
One O2 =
new
One(O1);
-
Console.WriteLine(O2.GetValue());
-
Console.ReadKey();
-
return
0;
-
}
}
10
10
10