Can it really be faster, with all those casts, shifting (<<) and or's (|)?
Twice the time the non-loop method took. With a dynamic List you can expect that it will be even slower. (Haven't done any experiments with that method, but one can estimate it would take longer.)