অনেক স্ট্রিং মান সহ স্ট্রিংয়ের একটি তালিকা (তালিকা <স্ট্রিং>) কীভাবে শুরু করতে হয়


358

স্ট্রিংগুলির একটি তালিকা (সি # ইনিশিয়ালাইজার সহ) কীভাবে আরম্ভ করা সম্ভব? আমি নীচের উদাহরণ দিয়ে চেষ্টা করেছি কিন্তু এটি কাজ করছে না।

List<string> optionList = new List<string>
{
    "AdditionalCardPersonAddressType","AutomaticRaiseCreditLimit","CardDeliveryTimeWeekDay"
}();

একটি উদাহরণ এই প্রশ্নের উত্তর একটি বহুমাত্রিক তালিকার জন্য এখানে আছে stackoverflow.com/questions/34473358/...
barlop

উত্তর:


464
List<string> mylist = new List<string>(new string[] { "element1", "element2", "element3" });

149
আমি মনে করি না যে এই অবজেক্টটি তৈরি করতে এখানে স্ট্রিং অ্যারে শুরু করার কোনও ভাল কারণ আছে। যে কেউ খুঁজছেন, দয়া করে অন্য একটি উত্তর ব্যবহার করুন।
রবার্ট স্মিথ

2
@ অন্লিকড এবং @ প্যাডেলের আরও সঠিক উত্তর ইমো রয়েছে। newআপনি যদি প্রাথমিকভাবে শুরু করেন তবে আর কোনও কিছুতে পাস করার দরকার নেই{ }
ডন চ্যাডল

সি ++ Collections::Generic::List<int>^ mylist = gcnew Collections::Generic::List<int>(gcnew array<int>{0, 1, 2, 3, 4})
সিএলআইয়ের

কেন? কারণ বরাদ্দ new String[]কার্যকর হয় না?
ডিলান জেজেনস্কি

8
@ ডিলানচেসস্কি আমি একটি সাধারণ নিয়ম হিসাবে বলব, অপ্রয়োজনীয় যে কোনও কিছু করা অযোগ্য। মঞ্জুরিপ্রাপ্ত, এটির উদাহরণটি কোনও বড় বিষয় নাও হতে পারে তবে ভাবুন যে আপনার কোডটি এই জাতীয় আইটেম দিয়ে ছড়িয়ে রয়েছে। এটি সামগ্রিকভাবে একটি বড় পার্থক্য করতে পারে, বিশেষত যখন এটি মেমরির ব্যবহারের ক্ষেত্রে আসে।
রবার্ট স্মিথ

556

শুধু ()শেষে সরান ।

List<string> optionList = new List<string>
            { "AdditionalCardPersonAdressType", /* rest of elements */ };

4
@Oded: msdn.microsoft.com/en-us/library/bb384062.aspx "সংগ্রহ initializers"
Lucero

আপনি কি। নেট / সি # এর একটি নির্দিষ্ট সংস্করণ উল্লেখ করছেন? যতদূর আমি v3.5 এবং তার পরে এই কাজটি জানি। 2.0 সম্পর্কে জানেন না কারণ আমি এটি কিছুক্ষণ ব্যবহার করি নি ...
প্যাডেল

1
.net -> ত্রুটি A এর পরে আমি ত্রুটিটি পেয়েছি একটি নতুন এক্সপ্রেশনটির প্রয়োজন () বা [] টাইপের পরে
বিলগিন কল

4
2.0 আপনি এটা ভালো ব্যবহার করা আবশ্যক: List<string> optionList = new List<string>() { "AdditionalCardPersonAdressType", /* rest of elements */ };। উল্লেখ্য ()এখানে: new List<string>()
প্যাডেল

3
এটি একটি সি # 3 ভাষার বৈশিষ্ট্য এবং এটি আপনি যে ফ্রেমওয়ার্ক ব্যবহার করছেন তার সংস্করণটির সাথে কোনও সম্পর্ক নেই। আপনি যদি এখনও ভিজ্যুয়াল স্টুডিও 2005 ব্যবহার করেন তবে আপনি এই বৈশিষ্ট্যটি ব্যবহার করতে সক্ষম হবেন না।
ফিল গণ

145

আপনি সত্যিই কোনও প্রশ্ন জিজ্ঞাসা করেননি, তবে কোডটি হওয়া উচিত

List<string> optionList = new List<string> { "string1", "string2", ..., "stringN"}; 

অর্থাত্ তালিকার পরে কোনও পিছনে নেই।


ত্রুটি 7 একটি নতুন এক্সপ্রেশনটির প্রয়োজন () বা [] টাইপের পরে
বিলগিন কলি

2
@blgnklc, কারণ আপনি সি # 2 ব্যবহার করছেন যা এই বৈশিষ্ট্যটি সমর্থন করে না।
ফিল গণ

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

দুটির উপরে সংক্ষিপ্ততম উপায়, দয়া করে https://www.dotnetperls.com/list দেখুন


1
এটি কি গ্রহণযোগ্য উত্তরের চেয়ে বেশি পছন্দ? মধ্যবর্তী প্রয়োজন ছাড়া এটি সহজ বলে মনে হচ্ছেstring[]
এহতেশ চৌধুরী

var animals = new List<string> { "bird", "dog" };গৃহীত উত্তরে প্রস্তাব দেওয়া হয়নি। আরও (new string[]স্বীকৃত উত্তরে একটি অতিরিক্ত আদেশ রয়েছে যা এড়ানো যায়।
সুজয়

14

আপনার ফাংশনটি ঠিক আছে তবে কাজ করছে না কারণ আপনি ()শেষেরটি রেখে দিয়েছেন }। যদি আপনি ()শীর্ষে যান তবে ঠিক পাশের new List<string>()ত্রুটি বন্ধ হয়ে যায়।

নীচে নমুনা:

List<string> optionList = new List<string>()
{
    "AdditionalCardPersonAdressType","AutomaticRaiseCreditLimit","CardDeliveryTimeWeekDay"
};

7

আপনি এটি আরও গতিশীল করে তুলতে চাইলে আপনি এভাবেই সূচনা এবং তালিকা (অ্যাড) যোগ করতে পারেন।

List<string> optionList = new List<string> {"AdditionalCardPersonAdressType"};
optionList.Add("AutomaticRaiseCreditLimit");
optionList.Add("CardDeliveryTimeWeekDay");

এইভাবে, আপনি যদি আইও থেকে মান গ্রহণ করছেন, আপনি এটি একটি গতিশীল বরাদ্দ তালিকায় যুক্ত করতে পারেন।



0

একটি দুর্দান্ত বৈশিষ্ট্য হ'ল তালিকার সূচনাটি কাস্টম ক্লাসগুলির সাথেও ঠিক সূক্ষ্মভাবে কাজ করে: আপনার কেবলমাত্র আইনিমেবল ইন্টারফেস প্রয়োগ করতে হবে এবং অ্যাড নামক একটি পদ্ধতি রয়েছে

সুতরাং উদাহরণস্বরূপ যদি আপনার মতো একটি কাস্টম ক্লাস থাকে:

class MyCustomCollection : System.Collections.IEnumerable
{
    List<string> _items = new List<string>();

    public void Add(string item)
    {
        _items.Add(item);
    }

    public IEnumerator GetEnumerator()
    {
        return _items.GetEnumerator();
    }
}

এটি কাজ করবে:

var myTestCollection = new MyCustomCollection()
{
    "item1",
    "item2"
}

-1
List<string> animals= new List<string>();
animals.Add("dog");
animals.Add("tiger");

3
দয়া করে আপনার উত্তরে কিছু ব্যাখ্যা যুক্ত করুন
mechnicov

দুঃখিত, তবে প্রশ্নটি একাধিক মান সহ একটি তালিকা শুরু করার বিষয়ে। এটি স্ট্রিংটি আরম্ভ করে এবং তারপরে এটি মানগুলি যুক্ত করে, একই কেসটি নয়।
সি-শ্যাভেজ

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