The definition: "It is a programming paradigm in which function definitions are trees of expressions that each return a value, rather than a sequence of imperative statements which change the state of the program"
There is no reason you can't do this in C# or Java.
There is no reason you can't do this in C# or Java.