Using values in expression

20 Oct 2013

I’ve done some small tests while writing the library to handle readonly objects in C#. Turns out that getting the value of a sub expression can be costly (since you have to compile the expression and execute). When just setting one property there can be a performance benefit of using the following syntax:

new MyClass(1, “2”).With(m => m.MyProperty, 3)

There might be some way of optimizing the code in order to get better performance for the form:

new MyClass(1, “2”).With(m => m.MyProperty == 3)

If there are only a few usages then the performance hit is probably negligible.



Do you want to send a comment or give me a hint about any issues with a blog post: Open up an issue on GitHub.

Do you want to fix an error or add a comment published on the blog? You can do a fork of this post and do a pull request on github.