#c# #object #logic
#c# #объект #Логические
Вопрос:
У меня есть образец данных, как показано ниже, которые могут меняться во время выполнения(строки и столбцы могут быть добавлены или удалены).:
Column1 Column2 Column3 RED Car 100 RED Car 150 RED Bike 140 BLUE Car 240 BLUE Bike 120
Мой класс выглядит следующим образом:
public class Data{ public Listlt;Datagt; ChildObjects; public string strName; }
Я хочу создать объект из приведенных выше примеров данных, как показано ниже:
- parentObj будет содержать 2 дочерних объекта-КРАСНЫЙ и СИНИЙ и strName в качестве
«родителя». - КРАСНЫЙ объект obj будет содержать 2 дочерних объекта АВТОМОБИЛЬ и ВЕЛОСИПЕД и strName как «КРАСНЫЙ».
- СИНИЙ объект obj будет содержать 2 дочерних объекта АВТОМОБИЛЬ и ВЕЛОСИПЕД и strName как «СИНИЙ».
- Каждый объект CAR будет содержать 5 дочерних объектов (100,150,140,240,120) и strName как «АВТОМОБИЛЬ».
- Каждый объект ВЕЛОСИПЕДА будет содержать 5 дочерних объектов (100,150,140,240,120) и strName как «ВЕЛОСИПЕД».
таким образом, структура будет выглядеть следующим образом
100 150 Car -- 140 240 120 RED--- 100 150 Bike -- 140 240 120 100 150 Car -- 140 | 240 | 120 BLUE--- | 100 | 150 Bike -- 140 240 120
Пожалуйста, помогите мне написать эффективный и динамичный фрагмент кода для логики.
Ответ №1:
var parentObj = new Data { strName = "parent", ChildObjects = new Listlt;Datagt; { // Creation of RED new Data { strName = "RED", ChildObjects = new Listlt;Datagt; { // Creation of Car new Data { strName = "Car", ChildObjects = new Listlt;Datagt; { new Data {strName = "100"}, new Data {strName = "150"}, new Data {strName = "140"}, new Data {strName = "240"}, new Data {strName = "120"} } }, // Creation of Bike new Data { strName = "Bike", ChildObjects = new Listlt;Datagt; { new Data {strName = "100"}, new Data {strName = "150"}, new Data {strName = "140"}, new Data {strName = "240"}, new Data {strName = "120"} } } } }, // Creation of BLUE new Data { strName = "BLUE", ChildObjects = new Listlt;Datagt; { // Creation of Car new Data { strName = "Car", ChildObjects = new Listlt;Datagt; { new Data {strName = "100"}, new Data {strName = "150"}, new Data {strName = "140"}, new Data {strName = "240"}, new Data {strName = "120"} } }, // Creation of Bike new Data { strName = "Bike", ChildObjects = new Listlt;Datagt; { new Data {strName = "100"}, new Data {strName = "150"}, new Data {strName = "140"}, new Data {strName = "240"}, new Data {strName = "120"} } } } } } };
Комментарии:
1. Спасибо за помощь. Но мне нужна динамическая логика для образца. Я не знаю столбцов, строк и данных внутри образца. Это дается во время выполнения.
2. Я не понимаю логики, как эта таблица преобразуется в дерево
3. Здравствуйте, мне нужно то же самое, что и в коде, который вы дали. Но во время выполнения я не знаю, сколько строк и какие значения будут содержать данные выборки. Таким образом, объект должен создаваться динамически.