using System.Collections.Generic;
using System.Collections;
public static void Main()
var list2 = new List<string>{"WithRef1","WithRef2"};
MyRefStyleInput(ref list2);
Console.WriteLine("@@@@@@@@@@@@@@@@@@@@@@@ Outer Start @@@@@@@@@@@@@@@@@@@@@@@@@@@@@");
Console.WriteLine("@@@@@@@@@@@@@@@@@@@@@@@ Outer End @@@@@@@@@@@@@@@@@@@@@@@@@@@@@");
Console.WriteLine("\n**************************************************************************\n");
var list1 = new List<string>{"WithoutRef1","WithoutRef2"};
MyDefaultStyleInput(list1);
Console.WriteLine("@@@@@@@@@@@@@@@@@@@@@@@Outer Start@@@@@@@@@@@@@@@@@@@@@@@@@@@@@");
Console.WriteLine("@@@@@@@@@@@@@@@@@@@@@@@ Outer End @@@@@@@@@@@@@@@@@@@@@@@@@@@@@");
public static void MyRefStyleInput(ref List<string> list)
list.Add("Ref Inner start");
list = new List<string>();
list.Add(" Ref Inner End");
Console.WriteLine("~~~~~~~~~~~~~~~~~~~~~Inner Start~~~~~~~~~~~~~~~~~~~");
Console.WriteLine("~~~~~~~~~~~~~~~~~~~~~Inner End~~~~~~~~~~~~~~~~~~~");
public static void MyDefaultStyleInput( List<string> list)
list = new List<string>();
Console.WriteLine("~~~~~~~~~~~~~~~~~~~~~Inner Start~~~~~~~~~~~~~~~~~~~");
Console.WriteLine("~~~~~~~~~~~~~~~~~~~~~Inner End~~~~~~~~~~~~~~~~~~~");