.NET 4.x Как сделать return внутри потока? - C#
Формулировка задачи:
string[] dataBase; // она не Null на самом деле
string[] result;
string[] Start()
{
new Thread(() => {
result = dataBase.Distinct().ToArray();
return result; // ТУТ ошибка. А как вернуть это значение по завершению потока я не знаю.
}).Start();
}Решение задачи: «.NET 4.x Как сделать return внутри потока?»
textual
Листинг программы
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication4 {
class Program {
static void Main(string[] args) {
int[] arr = GetArray();
}
static int[] GetArray() {
return Task<int[]>.Factory.StartNew(() => {
return new int[] { 1, 2, 3, 4, 5 };
}).Result;
}
}
}