How would I write this method using "=>" if logic spans multiple lines?
You would not. The following:
public int SimpleAddition(int firstInt, int secondInt) => firstInt + secondInt;
is expression-bodied method and expression-bodied members as the documentation states can consist only from single expression:
Expression body definitions let you provide a member's implementation in a concise, readable form. You can use an expression body definition whenever the logic for any supported member, such as a method or property, consists of a single expression.
Note that several chained method calls for example (like fluent APIs/LINQ) still form a single expression. For example:
public int SimpleAddition(int firstInt, int secondInt) => new[] { firstInt, secondInt } // just for example .Where(_ => true) .Sum();
So if you can rewrite your additional code in a way that it can be chained (or form a single expression) then you will be able to rewrite method to be expression-bodied (does not mean that you should though).
=>? if you need it for lambda stuff just return aFunc<>instead, see this QA.varfor instance, they are nice to use but kinda pain to work with when you have no access to proper IDE and only looking at codes on github, you have to dig more than you need to.=>is different from the=>in lambda expressions. This=>is specifically made to simplify single-expression methods/getters/etc. While it is technically possible to write multiple lines with=>, by returning anew Func<int>(...)(), you'd end up writing more code than if you had done it the traditional way.