我想將一個結構 (GR) 的成員復制到另一個更大的結構 (FR)
public struct gr
{
public double O,C,L;
public bool isLastFRH, isLastFRL;
}
public gr GR;
// Here I assign values to GR and then I want to copy all these values to FR
public struct fr
{
public double O,C,L;
public bool isLastFRH, isLastFRL;
// it has more variables.
}
public fr FR;
是否可以不一一進行:
FR.O = GR.O; // and so on...
謝謝
uj5u.com熱心網友回復:
嘗試使用 automapper,它可以讓您輕松創建映射。查看詳細資訊
var config = new MapperConfiguration(cfg => cfg.CreateMap<gr, fr>());
var mapper = new Mapper(config);
Fr model = mapper.Map<Fr>(gr);
uj5u.com熱心網友回復:
您不能在 C# 中對結構進行子類化,因此最好的選擇是創建一個使用要復制的結構的新結構。該GR屬性是一個結構體,因此它將是您對其進行設定的任何內容的副本。
在您的fr班級中添加gr成員:
public struct fr
{
public gr GR;
//add your unique props..
}
現在您可以創建fr并設定GR屬性,它將復制。
var gr1 = new gr() { //set all your properties.. };
var fr1 = new fr() { GR = gr1, ... //set all your fr specific props here };
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/353474.html
