Пожалуйста, см грубого фрагмента кода, что required.class А внешний класс, который имеет три внутренние списки типа B.LINQ создать новый список из элементов внешнего и внутреннего списка
public class A
{
public List<B> var1;
public List<B> var2;
public List<B> var3;
int x;
int y;
}
public class B
{
public string strA;
public string strB;
public string strC;
}
// This is the new class which i want as output
public class C
{
public string strC1;
public string strC2;
public string strC3;
public int x;
public int y;
public bool direction;
}
List<A> ListA = SomeClass.GetData();
List<B> ListB= new List<B>();
List<C> ListC = new List<C>();
foreach(A myA in ListA)
{
ListB = myA.var1;
foreach(B mydata1 in ListB)
{
C var = new C();
var.strC1 = mydata1.strA;
var.strC2 = mydata1.strB;
var.strC3 = mydata1.strC;
var.x = myA.x;
var.y = myA.y;
var.direction = true; //if input it is true
ListC.Add(var);
}
ListB = myA.var2;
foreach(B mydata1 in ListB)
{
C var = new C();
var.strC1 = mydata1.strA;
var.strC2 = mydata1.strB;
var.strC3 = mydata1.strC;
var.x = myA.x;
var.y = myA.y;
var.direction = true; //if input it is true
ListC.Add(var);
}
ListC = myA.var3;
foreach(B mydata1 in ListB)
{
C var = new C();
var.strC1 = mydata1.strA;
var.strC2 = mydata1.strB;
var.strC3 = mydata1.strC;
var.x = myA.x;
var.y = myA.y;
var.direction = false; //if input it is true
ListC.Add(var);
}
}
var grpList = ListC.GroupBy(p => p.strC);
Мой выход является ListC который состоит из элементов внутреннего класса B и внешнего класса A, а конечный вывод сгруппирован.
Вы можете указать свой рабочий код? – Grundy
Действительно ли вам нужно 'var' как имя объекта? –
Его просто как алгоритм того, что требуется. Как я уже упоминал, это всего лишь примерный фрагмент кода – user3106666