хотя передаю не null. В чем проблема?
public static void Run(object state) {
object[] parametres = state as object[];
int basePrime = Convert.ToInt32(parametres[0]);
CountdownEvent cde = parametres[2] as CountdownEvent;
var array = parametres[1] as List < numbers > ; //Здесь ловлю null
//
//
cde.Signal();
}
Вызываю так:
var subArrays = array.Select((obj, Index) => new {obj.num, obj.isPrime, Index })
.GroupBy(p => p.Index % basePrime.Length)
.Select(i => i.Select(g => new {g.num, g.isPrime}).ToList())
.ToList();
using(CountdownEvent signal = new CountdownEvent(basePrime.Length)) {
for (int i = 0; i < basePrime.Length; i++) {
ThreadPool.QueueUserWorkItem(
new WaitCallback(Run),
new object[] {
basePrime[i], subArrays[i], signal
}
);
}
}
Ну так передаешь ты Array<object>, а не List<T>, от того и не кастится
да, там object[1] - это List<T>
Обсуждают сегодня