Ref vs Out в spome-точках

Я знаю разницу между ref и out, Out должен установить значение в функции, а ref должен установить значение перед использованием send to function, но меня сбивает с толку возвращать несколько значений в определении out, поэтому я спрашиваю, что это означает Объявление Параметр из параметра через параметр out полезен, когда метод возвращает несколько значений. for out keyword в противном случае. Передача значения через параметр ref полезна, когда вызываемому методу также необходимо изменить значение переданного параметра. для Ref Keyword Я не понимаю этого момента, потому что я могу вернуть несколько значений в Ref, как это

    public class Program {
   public static bool update(out int a,out int b){
      a = 10;    
      b=11;
      return true;
   }

   public static bool change(ref int d,ref int v){
      d = 11;
      v=12;
      return true;
   }

   public static void Main() {
      int b=3;
      int c = 9;
    
      update(out b,out c);
      change(ref b,ref c);
      Console.WriteLine("Updated value is: {0}", b);
      Console.WriteLine("Changed value is: {0}", c);
   }
}

person Ali    schedule 08.07.2021    source источник
comment
Но учтите, что вы должны были инициализировать b и c перед вызовом change.   -  person Damien_The_Unbeliever    schedule 08.07.2021
comment
Эти два предложения описывают типичные варианты использования и никоим образом не претендуют на исключительность.   -  person Klaus Gütter    schedule 08.07.2021
comment
используя out, если вы не присваиваете значение в функции, вы не скомпилируете.   -  person Lei Yang    schedule 08.07.2021
comment
Я знаю, что мне следует задать начальное значение для ref перед использованием и out, которое не требуется, иначе в функции я должен установить значение для out, но ref не важно, но я спрашиваю, что такое среднее значение возврата нескольких значений для in out   -  person Ali    schedule 08.07.2021