In release mode, the compiler will almost certainly reduce "a" to "b".
There is a case for adding intermediate variables if you most likely want to debug using breakpoints at that location. But IMO "a" adds very little. I would use "b".
, , new ClassA() , . , ClassA.GetValue() .