using System; public class Program { public static void Main() { int prviBroj = 10, drugiBroj = 20; string prviString = "prvi", drugiString = "drugi"; Zameni(ref prviBroj, ref drugiBroj); Zameni(ref prviString, ref drugiString); Console.WriteLine($"{prviString} {drugiString}"); Console.WriteLine($"{prviBroj} {drugiBroj}"); } //Kod genericke metode je neophodno da izmedju znaka manje i vece naglasite //kako zelite da nazovete taj genericki parametar //(konvencija je da se parametar zove T ili da makar pocinje slovom T) //Ref je kljucna rec u C# koja oznacava da se sam parametar prenosi po referenci i da ce se //zapravo koristiti njegova prava vrednost, a ne kopija (ukoliko se kao parametar prosledjuju objekti koji zive na stacku a ne na heapu) private static void Zameni(ref T prvi, ref T drugi){ T temp; temp = prvi; prvi = drugi; drugi = temp; } }