C # में मानों की सूची बनाने का त्वरित तरीका?


106

मैं C # में मानों की सूची बनाने का एक त्वरित तरीका ढूंढ रहा हूं। जावा में मैं अक्सर नीचे दिए गए स्निपेट का उपयोग करता हूं:

List<String> l = Arrays.asList("test1","test2","test3");

क्या नीचे स्पष्ट एक के अलावा C # में कोई समकक्ष है?

IList<string> l = new List<string>(new string[] {"test1","test2","test3"});

जवाबों:



19

यदि आप अव्यवस्था को कम करना चाह रहे हैं, तो विचार करें

var lst = new List<string> { "foo", "bar" };

यह C # 3.0 की दो विशेषताओं का उपयोग करता है: सूची के लिए प्रकार (अनुमान var) और संग्रह आरम्भक।

वैकल्पिक रूप से, यदि आप एक सरणी के साथ कर सकते हैं, तो यह और भी कम है (थोड़ी मात्रा में):

var arr = new [] { "foo", "bar" };

2
मैं आमतौर पर अपने डेटा स्ट्रक्चर्स को नहीं चुन
Harrichael

1
@ हेरिकेल राइट, और न ही मैं। लेकिन जब तक आपको एक सूची की आवश्यकता नहीं होती है, तब तक एक का उपयोग करने का कोई कारण नहीं है।
कोनराड रुडोल्फ

10

C # 3 में, आप कर सकते हैं:

IList<string> l = new List<string> { "test1", "test2", "test3" };

यह C # 3 में नए संग्रह आरंभीकरण सिंटैक्स का उपयोग करता है।

C # 2 में, मैं सिर्फ आपके दूसरे विकल्प का उपयोग करूंगा।


नाइटपिक: संग्रह आरम्भिक, वस्तु आरम्भिक नहीं।
Timwi




3

आप ऐसा कर सकते हैं

var list = new List<string>{ "foo", "bar" };

यहां अन्य सामान्य डेटा संरचनाओं के कुछ अन्य सामान्य इंस्टेंटिएशन हैं:

शब्दकोश

var dictionary = new Dictionary<string, string> 
{
    { "texas",   "TX" },
    { "utah",    "UT" },
    { "florida", "FL" }
};

सारणी सूची

var array = new string[] { "foo", "bar" };

कतार

var queque = new Queue<int>(new[] { 1, 2, 3 });

ढेर

var queque = new Stack<int>(new[] { 1, 2, 3 });

जैसा कि आप देख सकते हैं कि अधिकांश मामलों में यह केवल घुंघराले ब्रेस में मूल्यों को जोड़ रहा है, या घुंघराले ब्रेस और मूल्यों के बाद एक नए सरणी को इंस्टेंट कर रहा है।


1

सूची बनाने के लिए आप सहायक सामान्य, स्थिर विधि बना सकते हैं:

internal static class List
{
    public static List<T> Of<T>(params T[] args)
    {
        return new List<T>(args);
    }
}

और फिर उपयोग बहुत कॉम्पैक्ट है:

List.Of("test1", "test2", "test3")

1

यदि आप मानों के साथ एक टाइप की गई सूची बनाना चाहते हैं, तो यहां सिंटैक्स है।

जैसे छात्र का एक वर्ग मान लेना

public class Student {
   public int StudentID { get; set; }
   public string StudentName { get; set; }
 }   

आप इस तरह से एक सूची बना सकते हैं:

IList<Student> studentList = new List<Student>() { 
                new Student(){ StudentID=1, StudentName="Bill"},
                new Student(){ StudentID=2, StudentName="Steve"},
                new Student(){ StudentID=3, StudentName="Ram"},
                new Student(){ StudentID=1, StudentName="Moin"}
            };

-5

मूल्यों की एक सूची जल्दी? या वस्तुओं की एक सूची भी!

मैं सी # भाषा में सिर्फ एक शुरुआत हूं लेकिन मुझे इसका उपयोग करना पसंद है

  • हैश टेबल
  • सारणी सूची
  • विवरण सारणी
  • डेटासेट

आदि।

आइटमों को संग्रहीत करने के कई तरीके हैं

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.