How to Avoid Boxing and Unboxing C#: A Practical Guide