public int PostfixEvalSpanStack() { Span <Token> span = new Token[100]; var stack = span.AsStack(); foreach (var token in tokens) { switch (token) { case Operand t: stack.Push(t); break; case Operator o: var a = stack.Pop() as Operand; var b = stack.Pop() as Operand; var result = o.Calc(a.Value, b.Value); stack.Push(new Operand(result)); break; } } return((stack.Pop() as Operand).Value); }