কম্পিউটার টিউটোরিয়াল

C#-এ StringTemplate ক্লাস: নামযুক্ত প্লেসহোল্ডার সহ ফরম্যাটিং

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)ও ব্যবহার করতে পারেন।
  1. জাভাতে NumberFormat ক্লাস

  2. JavaTuples-এ Triplet ক্লাস

  3. পাইথনে স্ট্রিং টেমপ্লেট ক্লাস

  4. পাইথনে স্ট্রিং অপারেশন