using System.Linq.Expressions;
using System.Collections;
using System.Collections.Generic;
public static void Main()
Console.WriteLine("****************** C# Equivalent Output **************************\n\n");
myString = "Hello, World!";
Console.WriteLine(myString);
Console.WriteLine("\n\n***************** Expression Tree Output **************************\n\n");
ParameterExpression myStringVariableExpr = Expression.Variable(typeof(String), "myString");
Expression assignExpr = Expression.Assign(
Expression.Constant("Hello, World!")
Expression blockExpr = Expression.Block(
new ParameterExpression[] { myStringVariableExpr },
Console.WriteLine(Expression.Lambda<Func<String>>(blockExpr).Compile()());