Как можно реализовать передачу массива из одной функции в другую? Перепробовал уже несколько способов, но к сожалению они не хотят работать. Мне нужно, чтобы элементы массива из функции Add() передались в функцию Dump() и там вывести список этих элементов. Или такое реализуется с помощью List?
using System;
namespace organizer
{
internal class Program
{
public static int Day { get; set; }
public static int Quantity { get; set; }
public static int Month { get; set; }
private static void Add(string[] months)
{
Console.WriteLine("Введите номер месяца в который вы хотите добавить дело");
int counter = 1;
foreach (string mont in months)
{
Console.WriteLine(months[counter++] + $" - {counter - 1}");
if (counter > 12)
{
break;
}
}
Console.WriteLine(new string('-', 25));
Console.Write("Номер месяца: ");
Month = Convert.ToInt32(Console.ReadLine());
Console.Write("Введите день месяца на который вы хотите добавить дело: ");
Day = Convert.ToInt32(Console.ReadLine());
if (Month == 2)
{
while (Day > 28)
{
Console.WriteLine("В феврале 28 дней.");
Console.Write("Введите значение повторно: ");
Day = Convert.ToInt32(Console.ReadLine());
if (Day < 28 || Day <= 0)
{
break;
}
}
}
Console.WriteLine(new string('-', 25));
Console.Write("Введите количество дел которые вы хотите добавить: ");
Quantity = Convert.ToInt32(Console.ReadLine());
Console.WriteLine($"Какие дела вы хотите добавить в {months[Month]} на день {Day}?");
Console.WriteLine(new string('-', 25));
Console.WriteLine($"Количество дел которое надо добавить: {Quantity}");
string[] affairs = new string[Quantity];
for (int i = 0; i < affairs.Length; i++)
{
affairs[i] = Console.ReadLine();
Console.WriteLine($"Осталось добавить дел: {--Quantity}");
}
}
private static void Dump(string month, int day)
{
Console.WriteLine($"Список дел на {month[Month]} в день {day}");
//foreach (var aff in affairs)
//{
// Console.Write(aff);
//}
}
private static void Main(string[] args)
{
string[] months = new string[13];
#region Months
months[0] = "Months:";
months[1] = "January";
months[2] = "February";
months[3] = "March";
months[4] = "April";
months[5] = "May";
months[6] = "June";
months[7] = "July";
months[8] = "August";
months[9] = "September";
months[10] = "October";
months[11] = "November";
months[12] = "December";
#endregion
Console.WriteLine("LKL");
Console.WriteLine("Выберите номер операции которую хотите выполнить:" +
"\n1 - Добавить список дел" +
"\n2 - Вывести список дел" +
"\n3 - Перенести дела на следующий месяц");
int choice;
while (true)
{
choice = Convert.ToInt32(Console.ReadLine());
if (choice == 1)
{
Add(months);
}
else if (choice == 2)
{
Dump(months[Month], Day);
}
else if (choice == 3)
{
}
else
{
}
}
}
}
}
Вот так у вас все статичное так что обрашатся ко всем элементам класса через . Пример :Program.
private static void Dump()
{
foreach (var month in Program.Add)
{
Console.WriteLine($"Список дел на {month[month]} в день {Program.Day}");
}
}
Заведите словарь внутри класса, в котором будете все хранить, и в Dump его передавайте. Только static уберите.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Как по нажатию клавиши мыши, выбрать всю строку в RadGridView и поместить элементы в List?
Есть веб-форма, на которой 2 текст бокса, в эти текстбоксы заносятся значения, double, их я проверяю, чтобы они были с точностью до двух знаков...