Vivasoft-logo

কন্ডিশনাল অপারেটর

নিচের অপারেটর কে বলা হয় টারনারি অপারেটর এটা মুলত if-else এর অল্টারনেটিভ এ ব্যভার করা যায় যদি রেজাল্ট অনলি true/false আসে। মাল্টিপল কন্ডিশনের জন্যে এটা রিকমেন্ডেড না.

condition ? expr1 : expr2

যদি condition true হয় তবে, expr1 এক্সিকিউট হবে; নয়ত, expr2 এক্সিকিউট হবে.

উদাহরন:

int age = 20;
String message = age >= 18 ? 'Adult' : 'Minor';
 

যেহেতু এখানে কন্ডিশন সত্য তাই ‘message’ এর ভ্যালু এখন, ‘Adult’.

int age = 16;
String message = age >= 18 ? 'Adult' : 'Minor';
 

যেহেতু এখানে কন্ডিশন মিথ্যা তাই ‘message’ এর ভ্যালু এখন, ‘Minor’। তাই টারনারি অপারেটর মুলত if/else এর ব্যবহার কমায়l

ডার্টে নাল-সচেতন অপারেটর নামে আরেকটি expression রয়েছে:

  • ?? : যদি বাম অপারেন্ডটি নাল না হয়, তবে এটি বাঁদিকের অপারেন্ড ফেরত দেয়; অন্যথায়, এটি ডান দিকের অপারেন্ড প্রদান করে।
  • ??= : বাম অপারেন্ড নাল হলে ডান অপারেন্ডকে বাম অপারেন্ডে বরাদ্দ করে।

যেমনঃ

String? name, greeting;
String fullName =
name ?? 'John Doe'; // ‘name’ নাল হলে, ‘fullName’ হবে 'John Doe'

greeting ??=
'Hello, World!'; // ‘greeting’ নাল হলে, ‘greeting’ হবে 'Hello, World!'