public TransactionBulk( RedisTargetInfo targetInfo, RedisBatchInfo batchInfo, RedisCommandInfo commandInfo, object[] array) { TargetInfo = targetInfo; BatchInfo = batchInfo; CommandInfo = commandInfo; var commandInfos = batchInfo.CommandInfos.SkipWhile(c => !c.IsMulti) .Skip(1) .ToArray(); Array = array.Select((item, i) => MapResult(targetInfo, i < commandInfos.Length ? commandInfos[i] : null, item)) .ToArray(); }