309.
class Class1
{
      private static void WithRef(ref string s)
      {
            s = "Baker";
      }
      private static void WithoutRef(string s)
      {
            s = "Charlie";
      }
      static void Main(string[] args)
      {
            string s = "Able";
            WithRef(ref s);
            WithoutRef(s);
            Console.WriteLine(s);
      }
}

What is the output

ref tells the compiler that the object is initialized before entering the function, while out tells the compiler that the object will be initialized inside the function.

So while ref is two-ways, out is out-only.