একটি ইন্টারপোল্টেড স্ট্রিংয়ের মধ্যে টের্নারি অপারেটরটি কীভাবে ব্যবহার করবেন?


408

আমি কেন এই কোডটি সংকলন করব না তা নিয়ে বিভ্রান্ত:

var result = $"{fieldName}{isDescending ? " desc" : string.Empty}";

আমি যদি এটি বিভক্ত করি তবে এটি ভাল কাজ করে:

var desc = isDescending ? " desc" : string.Empty;
var result = $"{fieldName}{desc}";

9
@ সিনাটার আপডেট হওয়া লিঙ্ক: thebillwagner.com/Blog/Item/…
নাট বারবেটিনি


উত্তর:


722

ডকুমেন্টেশন অনুযায়ী :

একটি বিভক্ত স্ট্রিংয়ের কাঠামোটি নিম্নরূপ:

{ <interpolationExpression>[,<alignment>][:<formatString>] }

সমস্যাটি হ'ল কোলনটি ফর্ম্যাটিং বোঝাতে ব্যবহৃত হয়, যেমন:

Console.WriteLine($"The current hour is {hours:hh}")

সমাধান হয় মোড়ানো বন্ধনী মধ্যে শর্তসাপেক্ষ:

var result = $"Descending {(isDescending ? "yes" : "no")}";

2
: এমনকি আরও বেশি আকর্ষণীয় উদাহরণ যখন আপনি একটি নেস্টেড ক্ষেপক স্ট্রিং ব্যবহার করতে হবে এই এক Console.WriteLine($"Cargo Weight: {(ship.WeightAvailable ? $"{ship.Weight:0.00}" : "n/a")}");
জানুয়ারী
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.