.NET এ "স্ট্রিং" এবং "স্ট্রিং" এর মধ্যে পার্থক্য এবং কোনটি সেরা?


15

.NET ফ্রেমওয়ার্কে, কমপক্ষে সি # ভাষায়, আমাদের স্ট্রিং প্রকারের দুটি "সংস্করণ" রয়েছে:

  • "STRING"
  • "STRING"

দেখা যাচ্ছে যে এগুলি বিনিময়যোগ্য, তবে তারা কি সত্যি? যদি সেগুলি বিনিময়যোগ্য না হয় তবে অন্যটির পরিবর্তে একটি ব্যবহার করা কি ভাল এবং কোন পরিস্থিতিতে?


1
এই প্রশ্নের একই: stackoverflow.com/q/6000517/6504
Agent_9191

2
স্টাইলিস্টিকভাবে, আমি যখন টাইপটি উল্লেখ করছি তখন লোয়ার-কেস সংস্করণ এবং যখন আমি সিস্টেম.স্ট্রিংয়ের একটি স্ট্যাটিক পদ্ধতি কল করি তখন উচ্চ-কেস সংস্করণ ব্যবহার করার প্রবণতা রাখি।
জোয়েল মুলার


2
stringএর অস্তিত্ব নেই .net, এটি কেবল সি # তে বিদ্যমান।
কোডসইনচাওস

1
যদিও এটি স্ট্যাক ওভারফ্লোয়ের জন্য কিছুটা বেশি উপযুক্ত হতে পারে তবে আমি মনে করি না যে এটি প্রোগ্রামারদের জন্য এটি সম্পূর্ণরূপে বিষয়বস্তু নয়, এবং স্ট্যাক ওভারফ্লো ইতিমধ্যে কমপক্ষে একটি ডুপ্লিকেট রয়েছে বলে এটি স্থানান্তরিত করার ক্ষেত্রে খুব একটা পয়েন্ট থাকবে না। সুতরাং দয়া করে স্থানান্তরিত করার জন্য ফ্ল্যাগিং / বন্ধ ভোটদান বন্ধ করুন, আপনি যদি মনে করেন এটি বন্ধ করা উচিত, এটি দুর্দান্ত, তবে এটি স্থানান্তরিত না হয়ে বন্ধ করা উচিত।
ইয়ানিস

উত্তর:


30

এমএসডিএন অনুযায়ী ভাল

.NET ফ্রেমওয়ার্কে স্ট্রিংয়ের জন্য স্ট্রিং একটি উপনাম ।

যেখানে "স্ট্রিং" আসলে System.String

আমি বলব যে এগুলি বিনিময়যোগ্য এবং আপনার কোনও বা অন্যটি কখন এবং কোথায় ব্যবহার করা উচিত সে বিষয়ে কোনও পার্থক্য নেই।

আপনি যেটি ব্যবহার করেছেন তার সাথে সামঞ্জস্য থাকা ভাল।


কোনও কারণে আমার মাথায় ছিল যে স্ট্রিং একটি মান টাইপ করা স্ট্রিংয়ের চারপাশে একটি শ্রেণীর মোড়ক এবং এটি বক্সিংয়ের ধারণা নিয়ে আসে ... আমি কি এখানে পুরোপুরি ভুল?
হারুন আনোডাইড

1
@ গ্যাব্রিয়েল নং, String(এবং এটির stringদ্বারা নাম) প্রসঙ্গের ধরণ।
ক্রিস হার্পার

@ গ্যাব্রিয়েল: জাভা বাইট বনাম বাইটের মতো জিনিস দিয়ে তা করে না?
এএসআই

ডাবল বনাম ডাবল এবং অন্যান্য ডেটা ধরণের ক্ষেত্রেও একই কি?
গ্যাভিন কোটস

1
অ্যারোন অ্যানোডাইড আমি বিশ্বাস করি এটি একটি জাভা কনভেনশন, সম্ভবত এটিই আপনি শুনেছেন।
কেচালাক্স

20

যেমন উল্লেখ করা হয়েছে, এগুলি একই জিনিস এবং stringএটির জন্য কেবল একটি উপনাম String

এর মূল্য কী, তার জন্য আমি stringপ্রকারগুলি - ভেরিয়েবল, বৈশিষ্ট্য, রিটার্ন মান এবং পরামিতি ঘোষণা করতে ব্যবহার করি । এই অন্যান্য সিস্টেম ধরনের ব্যবহার সঙ্গে সামঞ্জস্যপূর্ণ - int, bool, varইত্যাদি (যদিও Int32এবং Booleanএছাড়াও সঠিক)।

আমি Stringস্ট্রিং ক্লাসে স্থির পদ্ধতিগুলি ব্যবহার করার সময়, যেমন String.Split()বা পছন্দ করি String.IsNullOrEmpty()। আমি অনুভব করি যে এটি আরও বোধ করে কারণ পদ্ধতিগুলি একটি শ্রেণীর অন্তর্গত, এবং আমি অন্যান্য স্ট্যাটিক পদ্ধতিগুলি কীভাবে ব্যবহার করি তার সাথে এটি সামঞ্জস্যপূর্ণ।


আমরা এই সম্মেলনটি কাজেও ব্যবহার করি এবং আমি এটি পছন্দ করি। আমার মস্তিষ্কটি স্বয়ংক্রিয়ভাবে সংযোগ তৈরি করে।
এসবিআই

4

আমি ছোট হাত ব্যবহার করার পরামর্শ দিই string । বড় বড় Stringস্ট্রিং নামের প্রথম শ্রেণিটি ব্যবহার করবে যা এটি আমদানি করা নেমস্পেসে ... যা সাধারণত System.String। পরিবর্তে আপনার নিজের স্ট্রিং ক্লাস ব্যবহার করা সম্ভব।


3
আপনার যদি একই নামের সাথে দুটি পৃথক আমদানি করা প্রকার থাকে এবং আপনি নাম স্থান যোগ্যতা ছাড়াই সেই নামটি ব্যবহার করেন তবে আপনি একটি ত্রুটি পাবেন।
সোভিক

এটা তোলে প্রতারিত করার সম্ভব Stringকাজ সেটিকে কৌতুক করা সম্ভব কখনই string
ব্রায়ান বোয়েচার

তবুও, আমি এটি ব্যবহার করার পক্ষে যথেষ্ট ভাল কারণ মনে করি না string
সোভিক

5
কীভাবে "কেউ ভাঙতে পারে" বনাম। "কখনই ভাঙবে না" সমস্তগুলি অভিন্ন হওয়ার পক্ষে যথেষ্ট কারণ নেই?
ব্রায়ান বোয়েচার

4

string এটি একটি সি # কীওয়ার্ড যা কেবলমাত্র একটি এলিফ alias System.String

..কিন্তু যেমন একটি শব্দ, আপনার সিনট্যাক্স সম্পাদক শোভা / আইডিই এটা শব্দ রঙের, প্রদর্শনী, int- এ হিসাবে একই ডবল হবে, অন্য ইত্যাদি stylistically, আপনি বরং শব্দ ব্যবহার করতে পছন্দ করতে পারে System.Stringপ্রকার (বা শুধু Stringপরে আপনি করেছেন using System;)

এই কুলুঙ্গি বিন্দু যদিও, যদিও হিসাবে bool, char, int, doubleএবং stringসিস্টেম ধরনের জন্য সব শব্দ alias লেখা হয়, stringহয় একটি বিজোড় এক-আউট যেমন একটি রেফারেন্স ধরনের এবং অন্যদের মান ধরনের হয়।


4
objectএকটি রেফারেন্স টাইপের জন্য কীওয়ার্ডের
নামও

ওহ হ্যাঁ, আমি সেই সবটি ভুলে গিয়েছিলাম - অনুস্মারকটির জন্য ধন্যবাদ।
জেবিআরউইলকিনসন

2

string শুধুমাত্র একটি উপনাম String , তারা শেষ পর্যন্ত একই রকম।

আপনি ব্যবহার করতে পারেন যেটা আপনি পছন্দ যদিও আমি সাধারণত ব্যবহার stringএটি ব্যবহার অনেক আদিম ডাটা টাইপ মত যখন আমি পরিকল্পনা করছি (অনুরূপ int, floatঅথবা bool) এবং Stringযখন আমি একটি বস্তু / শ্রেণী হিসেবে এটি ব্যবহার পরিকল্পনা করছি। উদাহরণ স্বরূপ:

string foo = "   ";
if (String.isNullOrWhitespace(foo)) 
{
    // ...
}

উপরের ক্ষেত্রে, আমি fooকিছু পাঠ্য (আদিম হিসাবে কার্যকরভাবে) সংরক্ষণ করার জন্য ব্যবহার করার পরিকল্পনা করছি , তাই আমি ব্যবহার করি string; তবে, আমি যখন ফোন String.isNullOrWhitespace(string)করি তখন আমি ব্যবহার করি String। আমি এটি করি, কারণ সাধারণত শ্রেণীর নামের প্রথম অক্ষরটি মূলধন ( String) হয় তবে প্রথম চিঠিটি আদিম (যেমন int) হয় না।


-2

স্ট্রিংটি নেমস্পেস সিস্টেমের সাথে ব্যবহৃত হয় ring স্ট্রিং, স্ট্রিং ব্যবহৃত হয় সি # সংকলক স্পেসিফিকেশন, তদ্বিরত সিস্টেম.স্ট্রিং রেফারেন্স টাইপ মান। কেবলমাত্র আক্ষরিক উদ্দেশ্যে স্ট্রিং সিস্টেম অবজেক্টের সাথে ডিল করতে আপনার পছন্দ হয়। সিস্টেম এবং সিস্টেম উভয়ই একই কাজ করে।

string TC = new System.String('/', 5);

স্ট্রিং তুলনা, সমান এবং অন্যান্য উদ্দেশ্যেও ব্যবহৃত হয়।


4
এই পূর্বে 6 উত্তর উপর সারগর্ভ প্রস্তাব কিছু বলে মনে হচ্ছে না
মশা
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.