কন্ডিশনাল অপারেটর
নিচের অপারেটর কে বলা হয় টারনারি অপারেটর এটা মুলত 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!'