CSharp · Console
using System;
using System.Threading.Tasks;
public class Program
{
public static async Task Main()
{
int number = 5;
Console.WriteLine($"Number before method: {number}");
Func1(number);
Console.WriteLine($"Number after method: {number}");
Console.WriteLine($"-----------------------------");
string message = "Hello world";
Console.WriteLine($"Message before method: {message}");
Func4(message);
Console.WriteLine($"Message after method: {message}");
Console.WriteLine($"-----------------------------");
var wrapperClass = new WrapperClass { Number = 15 };
Console.WriteLine($"Number before method: {wrapperClass.Number}");
Func2(wrapperClass);
Console.WriteLine($"Number after method: {wrapperClass.Number}");
Console.WriteLine($"-----------------------------");
var wrapperStruct = new WrapperStruct { Number = 15 };
Console.WriteLine($"Number before method: {wrapperStruct.Number}");
Func3(wrapperStruct);
Console.WriteLine($"Number after method: {wrapperStruct.Number}");
Console.WriteLine($"-----------------------------");
}
public static void Func1(int number)
{
Console.WriteLine($"Inside Func1: {number}");
number++;
Console.WriteLine($"Number inside Func1: {number}");
}
public static void Func2(WrapperClass number)
{
Console.WriteLine($"Inside Func2: {number.Number}");
number.Number++;
Console.WriteLine($"Number inside Func2: {number.Number}");
}
public static void Func3(WrapperStruct number)
{
Console.WriteLine($"Inside Func3: {number.Number}");
number.Number++;
Console.WriteLine($"Number inside Func3: {number.Number}");
}
public static void Func4(string message)
{
Console.WriteLine($"Inside Func4: {message}");
message += "!";
Console.WriteLine($"Number inside Func4: {message}");
}
}
public class WrapperClass
{
public int Number { get; set; }
}
public struct WrapperStruct
{
public int Number { get; set; }
}