using System.Collections.Generic;
using System.Threading.Tasks;
public Task[] taskarray = new Task[2];
public int[] freetasks = new int[2];
public const int NULL_NUMBER = -1;
public void RecerveFreeTasks()
for (int task = 0; task < taskarray.Length; task++)
firstchek = taskarray[task].Status == TaskStatus.RanToCompletion;
finishbool = taskarray[task].Status == TaskStatus.RanToCompletion && (!freetasks.Contains(task) && freetasks[task] == -1);
{ Console.WriteLine(exc); }
var status = taskarray[task].Status;
bool what = !freetasks.Contains(task);
public void BubbleSortFreeTasks()
for (int i = 0; i < freetasks.Length; i++)
for (int j = i + 1; j < freetasks.Length; j++)
if (freetasks[i] < freetasks[j])
freetasks[i] = freetasks[j];
private void AddAndSortArray(int task)
for(var taskplace = 0; taskplace<freetasks.Length; taskplace++)
if (freetasks[taskplace] == NULL_NUMBER)
freetasks[taskplace] = task;
private void InitializeFreeArray()
for(int task = 0; task < freetasks.Length; task++)
freetasks[task] = NULL_NUMBER;
taskarray[task] = Task.CompletedTask;
public static void Main()
TasksChek taskchek = new TasksChek();
Task.Run(() => taskchek.RecerveFreeTasks());
if (taskchek.freetasks[0] != -1)
int numbertask = taskchek.freetasks[0];
taskchek.taskarray[numbertask] = Task.Run(() =>
Console.WriteLine("Task start");
Console.WriteLine("Message");
Console.WriteLine("First Message ");
Console.WriteLine("228");
Console.WriteLine("336");
taskchek.freetasks[0] = -1;