Section31.1:Passingbyreferenceusingrefkeyword Fromthedocumentation InC#,argumentscanbepassedtoparameterseitherbyvalueorbyreference.Passingbyreference enablesfunctionmembers,methods,properties,indexers,operators,andconstructorstochangethe valueoftheparametersandhavethatchangepersistinthecallingenvironment.Topassaparameterby reference, use the refor outkeyword. Thedifferencebetweenrefandoutisthatoutmeansthatthepassedparameterhastobeassignedbeforethe functionends.incontrastparameterspassedwithrefcanbechangedorleftunchanged. usingSystem; classProgram { staticvoidMain(string[]args) { inta=20; Console.WriteLine("InsideMain-BeforeCallee:a={0}",a); Callee(a); Console.WriteLine("InsideMain-AfterCallee:a={0}",a); Console.WriteLine("InsideMain-BeforeCalleeRef:a={0}",a); CalleeRef(refa);…