কম্পিউটার

C# 7.0 এ প্যাটার্ন ম্যাচিং কি?


C# 7.0 দুটি ক্ষেত্রে প্যাটার্ন ম্যাচিং চালু করে, হল এক্সপ্রেশন এবং সুইচস্টেটমেন্ট।

প্যাটার্ন পরীক্ষা করে যে একটি মান একটি নির্দিষ্ট আকৃতি আছে, এবং মান থেকে তথ্য বের করতে পারে যখন এটির সাথে মিলে যায়।

প্যাটার্ন ম্যাচিং অ্যালগরিদমের জন্য আরও সংক্ষিপ্ত সিনট্যাক্স প্রদান করে

আপনি যেকোন ডেটা টাইপের প্যাটার্ন ম্যাচিং সঞ্চালন করতে পারেন, এমনকি আপনার নিজেরও, যেখানে যদি/অন্যথায়, আপনার সাথে মিলের জন্য সর্বদা আদিম প্রয়োজন হয়।

প্যাটার্ন ম্যাচিং আপনার এক্সপ্রেশন থেকে মান বের করতে পারে।

প্যাটার্ন মিলের আগে

উদাহরণ

public class PI{
   public const float Pi = 3.142f;
}
public class Rectangle : PI{
   public double Width { get; set; }
   public double height { get; set; }
}
public class Circle : PI{
   public double Radius { get; set; }
}
class Program{
   public static void PrintArea(PI pi){
      if (pi is Rectangle){
         Rectangle rectangle = pi as Rectangle;
         System.Console.WriteLine("Area of Rect {0}", rectangle.Width * rectangle.height);
      }
      else if (pi is Circle){
         Circle c = pi as Circle;
         System.Console.WriteLine("Area of Circle {0}", Circle.Pi * c.Radius * c.Radius);
      }
   }
   public static void Main(){
      Rectangle r1 = new Rectangle { Width = 12.2, height = 33 };
      Rectangle r2 = new Rectangle { Width = 12.2, height = 44 };
      Circle c1 = new Circle { Radius = 12 };
      PrintArea(r1);
      PrintArea(r2);
      PrintArea(c1);
      Console.ReadLine();
   }
}

আউটপুট

Area of Rect 402.59999999999997
Area of Rect 536.8
Area of Circle 452.44799423217773

প্যাটার্ন মিলের পরে

উদাহরণ

public class PI{
   public const float Pi = 3.142f;
}
public class Rectangle : PI{
   public double Width { get; set; }
   public double height { get; set; }
}
public class Circle : PI{
   public double Radius { get; set; }
}
class Program{
   public static void PrintArea(PI pi){
      if (pi is Rectangle rectangle){
         System.Console.WriteLine("Area of Rect {0}", rectangle.Width *
         rectangle.height);
      }
      else if (pi is Circle c){
         System.Console.WriteLine("Area of Circle {0}", Circle.Pi * c.Radius *
         c.Radius);
      }
   }
   public static void Main(){
      Rectangle r1 = new Rectangle { Width = 12.2, height = 33 };
      Rectangle r2 = new Rectangle { Width = 12.2, height = 44 };
      Circle c1 = new Circle { Radius = 12 };
      PrintArea(r1);
      PrintArea(r2);
      PrintArea(c1);
      Console.ReadLine();
   }
}

আউটপুট

Area of Rect 402.59999999999997
Area of Rect 536.8
Area of Circle 452.44799423217773

  1. এআই ফাইল কী?

  2. 3D প্রিন্টিং কি?

  3. আইপি ঠিকানা কী?

  4. Windows 11 SE কি?