C# স্টেটমেন্ট ব্যবহার করে

C Stetamenta Byabahara Kare



ডেটাবেস সংযোগ, নথি স্ট্রীম বা নেটওয়ার্ক সংযোগের মতো সংস্থানগুলি নিষ্পত্তি করার সময়, উপযুক্ত নিষ্পত্তি নিশ্চিত করতে C# ভাষায় 'ব্যবহার' বিবৃতিটি নিযুক্ত করা হয়। আইডিসপোজেবল ইন্টারফেসের সাথে মেনে চলা বস্তুর ব্যবস্থাপনা এই পদ্ধতির দ্বারা সহজতর করা হয়েছে। কোডের যে বিভাগটিতে একটি সংস্থান তৈরি এবং ব্যবহার করা হয় যখন কোনও 'ব্যবহার' বিবৃতি ঘোষণা করা হয় তখন তৈরি করা হয়। যদি ব্লক থেকে প্রস্থান করার জন্য একটি সাধারণ প্রক্রিয়াকরণ বা একটি ব্যতিক্রম ব্যবহার করা হয়, তাহলে অবজেক্টের ডিসপোজ() ফাংশনটি অবিলম্বে কোনো অনিয়ন্ত্রিত সংস্থান ছেড়ে দিতে এবং কোনো প্রয়োজনীয় পরিষ্কার করার জন্য আহ্বান করা হয়। এই নির্দেশিকায়, আমরা C# “using” স্টেটমেন্ট ব্যবহার করে ডকুমেন্ট স্ট্রিম রিসোর্সকে কভার করব।

বাক্য গঠন:

C# 'ব্যবহার করা' বিবৃতিটি সেই সংস্থানগুলি পরিচালনা করতে ব্যবহৃত হয় যা স্পষ্টভাবে সুবিধাজনকভাবে এবং নিরাপদে নিষ্পত্তি করতে হবে। এটি নিম্নরূপ একটি নির্দিষ্ট সিনট্যাক্স অনুসরণ করে:

ব্যবহার ( রিসোর্স টাইপ রিসোর্স = নতুন রিসোর্স টাইপ ( ) ) { // কোড }
  • 'ব্যবহার করা' কীওয়ার্ডটি 'ব্যবহার করা' বিবৃতি ঘোষণা করতে ব্যবহৃত হয়।
  • 'ব্যবহার করা' কীওয়ার্ডের পরে, আপনি যে রিসোর্স টাইপটির সাথে কাজ করতে চান তা নির্দিষ্ট করুন, তারপরে একটি পরিবর্তনশীল নাম যা ব্লকের মধ্যে রিসোর্সকে প্রতিনিধিত্ব করে। আইডিসপোজেবল ইন্টারফেস বহন করে এমন যেকোনো বস্তু যোগ্যতা অর্জন করে। আপনি প্রয়োজন অনুসারে ব্লকের মধ্যে সংস্থান পরিচালনা করতে পারেন।
  • এরপরে, একটি সমান চিহ্ন (=) ভেরিয়েবলে রিসোর্স টাইপের একটি নতুন উদাহরণ বরাদ্দ করতে ব্যবহৃত হয়।
  • এখানে, 'নতুন' কীওয়ার্ডটি রিসোর্স প্রকারের একটি নতুন বস্তু তৈরি করতে ব্যবহার করা হয়।
  • নতুন কীওয়ার্ডের পর বন্ধনীর মধ্যে যেকোনো অতিরিক্ত আরম্ভ বা কনফিগারেশন করা যেতে পারে।
  • অবশেষে, আপনি কোঁকড়া ধনুর্বন্ধনী {} মধ্যে সংস্থান ব্যবহার করে এমন কোডটি আবদ্ধ করুন।

উদাহরণ 1:

এই নিবন্ধে C# 'ব্যবহার' বিবৃতিটির ব্যবহার প্রদর্শন করতে C# কোড উদাহরণ দিয়ে শুরু করা যাক। প্রদত্ত কোডটি একটি C# প্রোগ্রাম কভার করে যা একটি 'ব্যবহারের' বিবৃতির মধ্যে 'স্ট্রিমরিডার' ক্লাস ব্যবহার করে একটি পাঠ্য ফাইলের বিষয়বস্তু পড়ে।







প্রোগ্রামটি প্রয়োজনীয় নামস্থান, সিস্টেম এবং System.IO আমদানি করে শুরু হয়, যা ইনপুট/আউটপুট অপারেশন এবং ফাইল পরিচালনার জন্য ক্লাস প্রদান করে। প্রোগ্রামটি 'ডামি' নামে একটি ক্লাস সংজ্ঞায়িত করে। 'ডামি' ক্লাসের ভিতরে, একটি Main() পদ্ধতি রয়েছে যা সর্বদা শুরু থেকে শেষ পর্যন্ত সামগ্রিক প্রোগ্রাম চালানোর জন্য যেকোনো C# প্রোগ্রামের এন্ট্রি হিসাবে গণ্য করা উচিত।



Main() পদ্ধতিটি শুরু হয় “fp” স্ট্রিং ভেরিয়েবল ঘোষণা করে এবং এটিকে “test.txt” মান নির্ধারণ করে। এটি পড়ার জন্য পাঠ্য ফাইলের ফাইল পথ উপস্থাপন করে। ফাইল পড়ার সময় যে সমস্ত সম্ভাব্য ত্রুটি দেখা দিতে পারে তা মোকাবেলা করার জন্য, একটি ট্রাই-ক্যাচ ব্লক ব্যবহার করা হয়।



ট্রাই ব্লকের মধ্যে, 'স্ট্রিমরিডার' ক্লাসের একটি উদাহরণ তৈরি করতে একটি 'ব্যবহার করা' বিবৃতি ব্যবহার করা হয়। একটি ফাইল থেকে বিষয়বস্তু বোঝার কাজটি 'স্ট্রিমরিডার'-এ পড়ে। 'fp' ভেরিয়েবলে সংরক্ষিত ফাইল পাথ 'স্ট্রিমরিডার' কনস্ট্রাক্টরের কাছে পাস করা হয় এবং ফাইলটি পড়ার জন্য নির্দেশ করে।





'ব্যবহার' ব্লকের ভিতরে, ফাইলের বিষয়বস্তু 'যখন' লুপ ব্যবহার করে লাইন দ্বারা পরীক্ষিত হয় যদি না নথির চূড়ান্ত লাইনটি উপস্থিত হয়। লুপ 'স্ট্রিমরিডার' এর ReadLine() পদ্ধতি ব্যবহার করে একটি লাইন পড়ে এবং এটিকে স্ট্রিং ভেরিয়েবল 'l' এ বরাদ্দ করে। যদি লাইনটি নাল না হয়, তাহলে এটি কনসোল ব্যবহার করে কনসোলে প্রিন্ট করা হয়।WriteLine(l)।

ফাইলের শেষ হয়ে গেলে এবং পড়ার জন্য আর কোনো লাইন না থাকলে, 'ব্যবহার করা' ব্লক থেকে প্রস্থান করা হয় এবং 'ব্যবহারের' বিবৃতির কারণে 'স্ট্রিমরিডার' অবজেক্টটি স্বয়ংক্রিয়ভাবে নিষ্পত্তি হয়ে যায়। যখনই একটি নথি পড়ার সময় একটি IOException দেখা দেয় তখনই ক্যাচ ব্লক সক্রিয় হয়। ব্যতিক্রম বার্তাটি e.Message ব্যবহার করে প্রাপ্ত হয় এবং Console.WriteLine() ব্যবহার করে কনসোলে একটি ত্রুটি বার্তা প্রদর্শিত হয়।



প্রোগ্রাম এক্সিকিউশন সম্পূর্ণ হয় এবং কনসোল আউটপুট প্রদর্শিত হয়। অনুমান করা হচ্ছে যে 'test.txt' ফাইলটি বিদ্যমান এবং এতে পাঠ্যের বেশ কয়েকটি লাইন রয়েছে, এই কোডের আউটপুট হল ফাইলের বিষয়বস্তু যা কনসোলে প্রিন্ট করা হয় যা নিম্নলিখিত সংযুক্ত ছবিতে দেখানো হয়েছে৷ প্রতিটি লাইন আউটপুটে আলাদাভাবে দেখানো হয়েছে:

সিস্টেম ব্যবহার করে ;

সিস্টেম ব্যবহার করে। আইও ;

ক্লাস ডামি {

স্থির অকার্যকর প্রধান ( ) {

স্ট্রিং fp = 'test.txt' ;

চেষ্টা করুন {

ব্যবহার ( StreamReader পাঠক = নতুন StreamReader ( fp ) )

{

স্ট্রিং l ;

যখন ( ( l = পাঠক রিডলাইন ( ) ) != খালি )

{

কনসোল লেখার লাইন ( l ) ;

}

}

}

ধরা ( IOException e ) {

কনসোল লেখার লাইন ( 'ত্রুটি ঘটেছে: ' + এইটা. বার্তা ) ;

}

}

}

বিঃদ্রঃ: যদি 'test.txt' ফাইলটি বিদ্যমান না থাকে বা ফাইল অ্যাক্সেস বা রিডিং নিয়ে কোনো সমস্যা হয়, তাহলে ক্যাচ ব্লকটি কার্যকর করা হয় এবং কনসোলে একটি ত্রুটি বার্তা প্রদর্শিত হয় যা ঘটেছে নির্দিষ্ট ব্যতিক্রম নির্দেশ করে।

উদাহরণ 2:

এখানে আরেকটি সহজ উদাহরণ যা একটি ফাইলে ডেটা লেখার জন্য একটি StreamWriter-এর সাথে C# “using” স্টেটমেন্টের ব্যবহার প্রদর্শন করে। এখানে কোডটির প্রত্যাশিত আউটপুট সহ একটি ব্যাখ্যা রয়েছে। কোডটি 'ডামি' ক্লাস এবং 'প্রধান' পদ্ধতির ঘোষণা দিয়ে শুরু হয় যা শেষ পর্যন্ত প্রোগ্রামটি শুরু এবং শেষ করবে।

'প্রধান' পদ্ধতির মধ্যে, 'fp' স্ট্রিং ভেরিয়েবল ঘোষণা করা হয় এবং 'test.txt' ফাইল পাথ দিয়ে শুরু করা হয়। তথ্য যে নথিতে লেখা আছে তা এটি দ্বারা প্রতিনিধিত্ব করা হয়। নথি লেখার পুরো প্রক্রিয়া জুড়ে যে কোনও সম্ভাব্য IOException মোকাবেলা করতে, প্রোগ্রামটি একটি ট্রাই-ক্যাচ ব্লকে আবদ্ধ।

ট্রাই ব্লকের ভিতরে, 'লেখক' নামে একটি স্ট্রিম রাইটার অবজেক্ট তৈরি করা হয়েছে এবং 'ব্যবহার করা' বিবৃতি ব্যবহার করে শুরু করা হয়েছে। স্ট্রিম রাইটার একটি ফাইলে অক্ষর লেখার জন্য দায়ী। লেখক অবজেক্টের WriteLine ফাংশনের মাধ্যমে 'ব্যবহার' বিভাগের ভিতরে একটি নথিতে সামগ্রীর দুটি পৃথক লাইন যোগ করা হয়। ব্লকটি প্রস্থান করার পরে, স্ট্রিম রাইটারের ডিসপোজ() পদ্ধতিটি স্বয়ংক্রিয়ভাবে কল করা হয় যা নিশ্চিত করে যে কোনও মুলতুবি থাকা ডেটা ফাইলে লেখা হয়েছে এবং প্রয়োজনীয় সংস্থানগুলি প্রকাশ করা হয়েছে।

অবশেষে, 'ব্যবহার' ব্লকের বাইরে, 'সফলভাবে লেখা ডেটা।' বার্তাটি কনসোলে দেখানো হয়েছে যা প্রমাণ করে যে নথির লেখার অপারেশন সফল এবং ত্রুটি-মুক্ত। নথির লেখার প্রক্রিয়া চলাকালীন কোনো IOException ঘটলে ক্যাচ ব্লক সক্রিয় করা হয়। সেই ক্ষেত্রে, নির্দিষ্ট ব্যতিক্রম বার্তা সহ একটি ত্রুটি বার্তা কনসোলে প্রদর্শিত হয়।

সিস্টেম ব্যবহার করে ;

সিস্টেম ব্যবহার করে। আইও ;

ক্লাস ডামি {

স্থির অকার্যকর প্রধান ( ) {

স্ট্রিং fp = 'test.txt' ;

চেষ্টা করুন {

ব্যবহার ( স্ট্রিম রাইটার লেখক = নতুন স্ট্রিম রাইটার ( fp ) )

{

লেখক. লেখার লাইন ( 'হ্যালো, সি-শার্প!' ) ;

লেখক. লেখার লাইন ( 'এটি একটি পরীক্ষার পাঠ্য।' ) ;

}

কনসোল লেখার লাইন ( 'ডেটা সফলভাবে লেখা হয়েছে।' ) ;

}

ধরা ( IOException e ) {

কনসোল লেখার লাইন ( 'ত্রুটি ঘটেছে: ' + এইটা. বার্তা ) ;

}

}

}

সংক্ষেপে, কোডটি 'ব্যবহার' বিবৃতি ব্যবহার করে একটি স্ট্রিম রাইটার অবজেক্ট তৈরি করে, একটি ফাইলে দুটি লাইনের পাঠ্য লেখে এবং তারপর স্বয়ংক্রিয়ভাবে স্ট্রিম রাইটারের নিষ্পত্তি করে। লেখার অপারেশন সফল হলে, সফ্টওয়্যারটি একটি সফল বার্তা তৈরি করে। অন্যথায়, কোনো IOException ঘটলে এটি একটি ব্যর্থতার বার্তা নির্গত করে।

উপসংহার

C# 'ব্যবহার' বিবৃতিটি সম্পদগুলি পরিচালনা করার একটি ব্যবহারিক এবং নিরাপদ পদ্ধতি অফার করে যার জন্য একটি সুস্পষ্ট নিষ্পত্তি প্রয়োজন। আপনি নিশ্চয়তা দিতে পারেন যে প্রয়োজনীয় পরিচ্ছন্নতার পদ্ধতিগুলি স্বয়ংক্রিয়ভাবে সম্পাদিত হয় এবং একটি 'ব্যবহার' ব্লকের মধ্যে রিসোর্স খরচ আবদ্ধ করে রিসোর্স লিক হওয়ার সম্ভাবনা কমিয়ে দেয়৷ এটি আপনার কোডের নির্ভরযোগ্যতা বাড়ায়।