কম্পিউটার

C# এ System.String বা System.Text.StringBuilder ক্লাস কোনটি ভালো?


প্রধান পার্থক্য হল স্ট্রিংবিল্ডার পরিবর্তনযোগ্য যেখানে স্ট্রিং অপরিবর্তনীয়।

স্ট্রিং অপরিবর্তনীয়, অপরিবর্তনীয় মানে আপনি যদি স্ট্রিং অবজেক্ট তৈরি করেন তাহলে আপনি এটি পরিবর্তন করতে পারবেন না এবং এটি সবসময় মেমরিতে স্ট্রিং টাইপের নতুন অবজেক্ট তৈরি করে।

অন্যদিকে, StringBuilder পরিবর্তনযোগ্য। মানে, যদি আমরা একটি স্ট্রিং বিল্ডার অবজেক্ট তৈরি করি তবে আমরা প্রতিবার নতুন উদাহরণ তৈরি না করেই সন্নিবেশ, প্রতিস্থাপন বা যুক্ত করার মতো যেকোনো অপারেশন করতে পারি। এটি মেমরির এক জায়গায় স্ট্রিং আপডেট করবে মেমরিতে নতুন স্থান তৈরি করে না।

উদাহরণ

using System;
using System.Text;
class DemoApplication{
   public static void Main(String[] args){
      String systemString = "Hello";
      StringConcat(systemString);
      Console.WriteLine("String Class Result: " + systemString);
      StringBuilder stringBuilderString = new StringBuilder("Hello");
      StringBuilderConcat(stringBuilderString);
      Console.WriteLine("StringBuilder Class Result: " + stringBuilderString);
   }
   public static void StringConcat(String systemString){
      String appendString = " World";
      systemString = String.Concat(systemString, appendString);
   }
   public static void StringBuilderConcat(StringBuilder stringBuilderString){
      stringBuilderString.Append(" World");
   }
}

আউটপুট

উপরের উদাহরণের আউটপুট নিম্নরূপ -

String Class Result: Hello
StringBuilder Class Result: Hello World
  • StringConcat পদ্ধতির ব্যবহার:এই পদ্ধতিতে, আমরা একটি স্ট্রিং "হ্যালো" পাস করছি এবং "systemString =String.Concat(systemString, appendString);" সম্পাদন করছি। যেখানে appendString হল "World" সংযুক্ত করা। Main() থেকে পাস করা স্ট্রিংটি পরিবর্তন করা হয়নি, এটি এই কারণে যে স্ট্রিং অপরিবর্তনীয় . স্ট্রিং এর মান পরিবর্তন করলে স্ট্রিংকনক্যাট() নতুন স্ট্রিং এর রেফারেন্স সঞ্চয় করে আরেকটি অবজেক্ট এবং সিস্টেমস্ট্রিং তৈরি করে . কিন্তু রেফারেন্স সিস্টেমস্ট্রিং-এ Main() এবং StringConcat() বিভিন্ন স্ট্রিংকে বোঝায়।

  • StringBuilderConcat পদ্ধতির ব্যবহার:এই পদ্ধতিতে, আমরা একটি স্ট্রিং "হ্যালো" পাস করছি এবং "stringBuilderString.Append("World");" যা স্ট্রিং এর প্রকৃত মান পরিবর্তন করে (মেনে) "হ্যালো ওয়ার্ল্ড" এ। এটি সহজ সত্যের কারণে যে স্ট্রিংবিল্ডার পরিবর্তনযোগ্য এবং তাই এর মান পরিবর্তন করে।


  1. Avast বনাম Malwarebytes:কোনটি ভাল?

  2. লিনাক্স মিন্ট বনাম উবুন্টু:কোনটি ভাল?

  3. ল্যাপটপ বনাম ডেস্কটপ - কোনটি ভাল?

  4. Android TV বনাম Roku TV:কোনটি ভালো?