StringTemplate হল NString লাইব্রেরির একটি ক্লাস যা String.Format-এর উন্নত সংস্করণ। এটি নামযুক্ত প্লেসহোল্ডার ({Name}) ব্যবহার করে, যা নম্বরযুক্ত প্লেসহোল্ডার ({0}) চেয়ে পঠনীয় এবং ত্রুটি-নিরাপদ।
নম্বরযুক্ত vs নামযুক্ত প্লেসহোল্ডার
// String.Format (নম্বরযুক্ত) — ত্রুটিপূর্ণ হতে পারে
string s1 = String.Format("{0} will held on {1:D}", exam.Name, exam.Date);
// StringTemplate (নামযুক্ত) — স্পষ্ট এবং সুরক্ষিত
string s2 = StringTemplate.Format("{ExamName} will held on {ExamDate:D}", new { exam.ExamName, exam.ExamDate });
NString লাইব্রেরির এক্সটেনশন মেথড
IsNullOrEmpty(),IsNullOrWhiteSpace()Join(),Truncate(),Left(),Right()Capitalize(),ToTitleCase()Match(),Replace()(Regex-ভিত্তিক)
ইনস্টলেশন
dotnet add package NString
ব্যবহারিক উদাহরণ
using NString;
class StringTemplateDemo
{
public static void Main()
{
var person = new { Name = "আমিত", Age = 25, City = "ঢাকা" };
// নামযুক্ত প্লেসহোল্ডার
string template = "{Name} বয়সে {Age} বছর, শহর: {City}";
string result = StringTemplate.Format(template, person);
Console.WriteLine(result); // আমিত বয়সে 25 বছর, শহর: ঢাকা
// ফরম্যাট স্পেসিফায়ার
string dateTemplate = "আজ {Date:dddd, MMMM dd, yyyy}";
Console.WriteLine(StringTemplate.Format(dateTemplate, new { Date = DateTime.Now }));
}
}
সুপারিশ
- কমপ্লেক্স টেমপ্লেট, রিপোর্ট জেনারেশন, ইমেইল বডি তৈরির জন্য উপযোগী।
- C# 10+ ইন্টারপোলেটেড স্ট্রিং হ্যান্ডলার (
StringBuilderবাIFormatProvider)ও ব্যবহার করতে পারেন।