public class Element
{
public string Name { get; set; }
public int Hp { get; set; }
}
// класс элемента
public class Recept
{
private Element[,] recept;
int size;
public Recept(Element elementZero, Element elementOne, Element elementTwo, Element elementThee, Element elementFour, Element elementFive, Element elementSix, Element elementSeven, Element elementEight)
{
size = 3;
recept = new Element [,]{ { elementZero, elementOne, elementTwo}, { elementThee , elementFour, elementFive}, { elementSix, elementSeven, elementEight} };
}
}
// рецепты для создание нового элемента из сочетаний элементов и их позиции
Recept stick = new Recept(null, null, null, null, tree, null, null, tree, null);
// для примера сделал рецепт палки
// здесь создаю массив рецептов чтобы после смерить с details все ли элементы есть и позиция ровняется ли как на рецепте
private Recept[, ,] receptArray;
size = 3;
private int size;
int count;
count = 21;
details = new Element[size, size];
receptArray = new Recept[count, size, size];
//как сравнить значение с recept и receptArray ?
//пытаюсь обратится через индексы
for (int i = 0; i < count; i++)
{
for (int k = 0; k < size; k++)
{
for (int l = 0; l < size; l++)
{
// Element templaye = new Element { Name = receptArray[i, k].Name }; пытался так не получилось
if (receptArray[i, k, l] == details[k,l)// так не работает
{
}
}
}
}
Для прояснения вашего вопроса возьмем такой пример суповарения:
static void Main(string[] args)
{
var soups = new Recept("Супы", "Фасолевый", "Гороховый");
var el1 = new Element("сухой горох", 500);
var el2 = new Element("копченые свиные ребра", 500);
var el3 = new Element("бекон", 100);
var el4 = new Element("луковица", 15);
var el5 = new Element("морковь", 20);
var el6 = new Element("картофель", 200);
var el7 = new Element("горчица", 5);
var el8 = new Element("чеснок", 3);
var el9 = new Element("укроп и петрушка", 2);
var el10 = new Element("копченая рулька", 1000);
var el11 = new Element("охотничьих колбасок", 300);
var el12 = new Element("сушеной фасоли", 450);
var el13 = new Element("соль, свежемолотый черный перец", 7);
var el14 = new Element("лавровый лист", 1);
var el15 = new Element("розмарин", 0.5);
soups.AddElements("Фасолевый",
el10, el11, el12, el5, el4, el8, el13, el4, el15);
soups.AddElements("Гороховый",
el1, el2, el3, el4, el5, el6, el7, el8, el9, el14, el13);
//
var firstSoup = soups.GetDishesNames().First();
Console.WriteLine($"Первый суп: {firstSoup}");
Console.WriteLine(new string('-', 40));
foreach (var element in soups.GetElementsByNameDish(firstSoup))
{
Console.WriteLine($"{element.Name} - {element.Weight}");
}
Console.WriteLine(new string('-', 40));
Console.ReadKey();
}
Реализовано это с помощью таких классов
public class Element
{
public Element(string name, double weight)
{
Name = name;
Weight = weight;
}
public string Name { get; set; }
public double Weight { get; set; }
}
public class Recept
{
private Dictionary<string, List<Element>> _dishes;
public Recept(string name, params string[] dishNames)
{
_dishes = new Dictionary<string, List<Element>>(dishNames.Count());
Array.ForEach(dishNames, d => _dishes.Add(d, new List<Element>()));
}
public string Name { get; private set; }
public bool AddElements(string nameDish, params Element[] elements)
{
if (!_dishes.ContainsKey(nameDish)) return false;
Array.ForEach(elements, e => _dishes[nameDish].Add(e));
return true;
}
public List<Element> GetElementsByNameDish(string nameDish)
{
if (!_dishes.ContainsKey(nameDish)) return null;
return _dishes[nameDish];
}
public List<string> GetDishesNames()
{
return _dishes.Keys.ToList();
}
}
Теперь глядя на этот пример, исправьте свой вопрос так, чтобы было в достаточной степени ясности понятно какой функционал вам требуется, потому как из вашего вопроса в настоящий момент это не ясно.
Сообразил только в Catch менять переменную и с помощью goto повторять часть кода, а как правильно делать ?
Возникла достаточно простая проблемаУ меня есть форма с двумя элементами: 1) chooseBox - форма для выбора из списка; 2) gridView - представление в таблице...
Попалась задачка на собеседовании: есть нули и единицы в массивеНадо для каждого нуля посчитать сколько единиц правее него и вывести сумму...
Проблема такая, при переносе онлайн игры на другой хостинг возникает ошибки следующего родаСразу говорю ссылки все нормальные не битые