Advertisement
fcamuso

tuple

Apr 22nd, 2021
416
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.37 KB | None | 0 0
  1. using System;
  2.  
  3. namespace tuple_1
  4. {
  5.   struct TMinMax
  6.   {
  7.     public IComparable min;
  8.     public IComparable max;
  9.  
  10.     public TMinMax(IComparable min, IComparable max) { this.min = min; this.max = max; }
  11.   }
  12.  
  13.   class Program
  14.   {
  15.     //metodo 1  parametri out
  16.     static void MinMax(IComparable a, IComparable b,
  17.                        out IComparable min,  out IComparable max)
  18.     {
  19.       min = a.CompareTo(b) <=0 ? a : b;
  20.       max = a.CompareTo(b) >= 0 ? a : b;
  21.     }
  22.  
  23.  
  24.  
  25.     //metodo 2 con struct
  26.     //static TMinMax MinMax(IComparable a, IComparable b)
  27.     //{
  28.     //  return new TMinMax(a.CompareTo(b) <= 0 ? a : b, a.CompareTo(b) >= 0 ? a : b);
  29.     //}
  30.  
  31.  
  32.     //con le tuple
  33.     static (IComparable min, IComparable max) MinMax(IComparable a, IComparable b)
  34.     {
  35.       return (a.CompareTo(b) <= 0 ? a : b, a.CompareTo(b) >= 0 ? a : b);
  36.     }
  37.  
  38.     static void m( (int n, string s) parametro)
  39.     { }
  40.  
  41.     static void Main(string[] args)
  42.     {
  43.       //con parametri out
  44.       MinMax(3, 5, out IComparable minimo, out IComparable massimo);
  45.       Console.WriteLine($"Minimo: {minimo} - Massimo: {massimo}");
  46.  
  47.       MinMax("Topolino", "Topolina", out IComparable par1, out IComparable par2);
  48.       Console.WriteLine($"Minimo: {par1} - Massimo: {par2}");
  49.  
  50.       //con struct
  51.       //TMinMax t1 = MinMax(3,3);
  52.       //Console.WriteLine($"Minimo: {t1.min} - Massimo: {t1.max}");
  53.  
  54.       //TMinMax t2 = MinMax("Topolino", "Topolina");
  55.       //Console.WriteLine($"Minimo: {t2.min} - Massimo: {t2.max}");
  56.  
  57.       //con le tuple
  58.       Console.WriteLine("TUPLE");
  59.      
  60.       (IComparable ilMin, IComparable ilMax) r = MinMax(3, 5);
  61.  
  62.       Console.WriteLine($"Minimo: {r.ilMin} - Massimo: {r.ilMax}");
  63.  
  64.       (IComparable ilMin, IComparable ilMax) = MinMax(3, 5);
  65.       Console.WriteLine($"Minimo: {ilMin}");
  66.  
  67.       IComparable ilMinimo = 0, ilMassimo = 0;
  68.       (ilMinimo, ilMassimo) = MinMax(3, 5);
  69.       Console.WriteLine($"Massimo: {ilMassimo}");
  70.  
  71.       (int soglia, string descrittore) t1 = (2, "Acidità");
  72.       m(t1);
  73.  
  74.       (int soglia, string descrittore) t2 = t1;
  75.       t2.soglia = 99;
  76.       Console.WriteLine(t1.soglia);
  77.  
  78.       (int soglia, string descrittore) t3 = (2, "Acidità");
  79.       Console.WriteLine(t1 == t3);
  80.  
  81.       var t4 = (DateTime.Now.Year, new string("ciao").Length);
  82.       Console.WriteLine(t4.Year + t4.Length);
  83.  
  84.     }
  85.   }
  86. }
  87.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement