আমি কীভাবে একটি সি লাইনের সূচনা করতে পারি একই লাইনে আমি এটি ঘোষণা করি। (উল্লেখযোগ্য স্ট্রিং সংগ্রহ উদাহরণ)


107

আমি আমার টেস্টকোডটি লিখছি এবং আমি চাই লিখতে চাই না:

List<string> nameslist = new List<string>();
nameslist.Add("one");
nameslist.Add("two");
nameslist.Add("three");

আমি লিখতে পছন্দ করি

List<string> nameslist = new List<string>({"one", "two", "three"});

তবে {"এক", "দুই", "তিন"} একটি "আইইনুমারেবল স্ট্রিং সংগ্রহ" নয়। আইইনুমারেবল স্ট্রিং কালেকশন "ব্যবহার করে আমি কীভাবে এক লাইনে এটি সূচনা করতে পারি?

উত্তর:


168
var list = new List<string> { "One", "Two", "Three" };

মূলত বাক্য গঠনটি হ'ল:

new List<Type> { Instance1, Instance2, Instance3 };

যা সংকলক হিসাবে অনুবাদ করেছেন

List<string> list = new List<string>();
list.Add("One");
list.Add("Two");
list.Add("Three");

আমি এই নো-প্রথম বন্ধনী পদ্ধতিটি পছন্দ করি, কোন সি # সংস্করণটি দিয়ে এটি শুরু হয়েছিল?
সিলভারব্যাক

9
এটা না বেশ যে অনুদিত, অন্তত সাধারণভাবে না। ভেরিয়েবলের অ্যাসাইনমেন্টটি সমস্ত কল করার পরে ঘটে Addit's list = tmp;এটি শেষের সাথে একটি অস্থায়ী ভেরিয়েবল ব্যবহার করে। আপনি যদি কোনও ভেরিয়েবলের মান পুনরায় অর্পণ করেন তবে এটি গুরুত্বপূর্ণ হতে পারে ।
জন স্কিটি

স্বয়ংক্রিয় বৈশিষ্ট্য এবং অবজেক্ট ইনিজিশিয়ালারগুলি .NET 3 এর সাথে পরিচয় করানো হয়েছিল আমার বিশ্বাস, এটি একই ফ্রেমওয়ার্ক সংস্করণ, লিনকিউ সমর্থন করার জন্য কেবল একটি আপডেট সংকলক।
ম্যাথু অ্যাবট

@ জন, চিয়ার্স, আমি কখনই সেই অংশটি জানতাম না। : ডি
ম্যাথু অ্যাবট

@ জোন স্কিটি: "... আপনি যদি কোনও ভেরিয়েবলের মান পুনরায় নিযুক্ত করেন তবে এটি গুরুত্বপূর্ণ হতে পারে।" আপনি এই মন্তব্য সম্পর্কে আরও কিছু ব্যাখ্যা করতে পারেন?
টনি

17

কোডটি পরিবর্তন করুন

List<string> nameslist = new List<string> {"one", "two", "three"};

অথবা

List<string> nameslist = new List<string>(new[] {"one", "two", "three"});

দ্বিতীয় লাইনের "তালিকা <স্ট্রিং> নাম তালিকা = নতুন তালিকা <স্ট্রিং> (নতুন [] one" এক "," দুটি "," তিন "}) ব্যবহার করার উদ্দেশ্য কী; আমরা কখন এটি ব্যবহার করতে পারি? এছাড়াও দ্বিতীয় সিনট্যাক্সে "নতুন [] {...}" এর অর্থ কী? কেন প্রথম শব্দটির সাথে প্রথম বন্ধনী ব্যবহার করা হয়েছে [] ???
টনি




3

এটি নির্ভর করে যে আপনি সি # এর কোন সংস্করণ ব্যবহার করছেন, 3.0 সংস্করণ থেকে আপনি ব্যবহার করতে পারবেন ...

List<string> nameslist = new List<string> { "one", "two", "three" };

1

আমি মনে করি এটি আন্ত, দীর্ঘ এবং স্ট্রিং মানগুলির জন্য কাজ করবে।

List<int> list = new List<int>(new int[]{ 2, 3, 7 });


var animals = new List<string>() { "bird", "dog" };

0

এটি এক উপায়।

List<int> list = new List<int>{ 1, 2, 3, 4, 5 };

এটি অন্য উপায়।

List<int> list2 = new List<int>();

list2.Add(1);

list2.Add(2);

একই স্ট্রিং সঙ্গে যায়।

উদাহরণ:

List<string> list3 = new List<string> { "Hello", "World" };
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.