В настоящее время я работаю над приложением .NET 4.7.2.Мне нужно объединить 2 списка в 1 и заменить определенные элементы.Мне интересно, каков наилучший подход для достижения этой цели.
Проблема в следующем: у меня есть определенный список фруктов:
Fruits
------
Apple
Banana
Orange
Lemon
Мне нужноиспользовать Фрукты сверху в моем списке результатов, который создается с использованием 2 списков внизу.Списки Template и Selection содержат только строковые значения.A, B ... будет точно в том же порядке в Выбор и Шаблон.В шаблоне у меня просто есть несколько фруктовых заполнителей, добавленных в Selection.
Мои 2 списка выглядят так:
Template | Selection
---------------------
A | A
Fruit | Orange
D | D
Fruit | Lemon
C | C
Fruit | B
B |
Цель состоит в том, чтобы создать список результатов, основанный на шаблоне.Мне нужно заменить фруктовый заполнитель фруктом из Selection.Если в выборе нет фруктов, например между C и D, мне нужно взять первый доступный фрукт из моего списка фруктов.
Когда я создаю результат, я отрезаю апельсин и лимон отФрукты - и я просто выбираю первый доступный фрукт из списка Фрукты, чтобы заменить заполнитель Фрукты в списке шаблонов, например, сначала я нарезаю Апельсин и Лимон из Фруктов, затем я выбираю Apple, потому что он все еще доступен.
Результат выглядит примерно так:
Result
------
A
Orange
D
Lemon
C
Apple
B
Объединить эти списки довольно сложно.
Мой класс FruitGarden выглядит так:
public class FruitGarden
{
public List<string> Fruits { get; set; } // Apple, Banana, Orange, Lemon
public List<string> PrepareFruits(List<string> Template, List<string> Selection)
{
var result = new List<string>();
var cntSelection = 0;
for (var cntTemplate = 0; cntTemplate < Template.Count; cntTemplate++){
// here I need to replace the Fruit in my Template list with an available Fruit from Temporary or from Fruits
do
{
}(cntSelection< Temporary.Count)
}
return result;
}
}
Что бы вы предложили, в C #, как было бы хорошим способом объединить 2 списка в 1?