Я просто хочу иметь возможность сортировать результаты BatchedJoinBlock (http://msdn.microsoft.com/en-us/library/hh194683.aspx), чтобы разные результаты разных целей оставались вместе. Я объясню! Пример в некотором псевдокоде:
Dim batchedJoin = New BatchedJoinBlock(Of String, object)(4)
batchedJoin.Target1.Post("String1Target1")
batchedJoin.Target2.Post(CType(BuildIt, StringBuilder1))
batchedJoin.Target1.Post("String1Target2")
batchedJoin.Target2.Post(CType(BuildIt, StringBuilder2))
Dim results = batchedJoin.Receive()
'This sorts one result...
Dim SortByResult = results.Item1.OrderBy(Function(item) item.ToString, New NaturalStringComparer)
В основном у меня есть строка и объект, переменная SortByResult выше сортирует строки точно так, как я хотел бы, чтобы они сортировались. Я ищу способ получить объекты, которые раньше были с одним и тем же номером индекса в target2, в том же порядке. например если "String1Target1" меняет порядок, я хотел бы как-то надежно сослаться на него или соединить его вместе с "StringBuilder1". Фактическим конечным результатом должно быть только то, что объекты (target2) сортируются в порядке, определяемом сортируемыми строками (target1). Что-то типа:
Dim EndResult = results.Item2.OrderBy(strings in target1)
но я с удовольствием приму промежуточное решение! Я также пытался использовать словарь (results.Item2.ToDictionary) со строкой в качестве ключа (что также было бы прекрасным решением), но это немного выходит за рамки моего понимания, используя выражения лямба в правильном контексте. Я действительно могу сделать это в несколько шагов со списком или чем-то еще, но я пытаюсь получить что-то более эффективное/что-то узнать, и кажется, что есть много вариантов по умолчанию с результатами совместного блока, которые я просто не понимаю. достаточно опытен в использовании. Заранее благодарим за любую помощь, которую вы можете предоставить!
BatchedJoinBlock
для этого? Разве вы не можете объединить две части данных (возможно, вTuple
), а затем использовать обычныйBatchBlock
? - person svick   schedule 15.09.2013