Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> C#

C# में StringCollection क्लास - प्रॉपर्टीज़, मेथड्स और उदाहरण

StringCollection क्लास (System.Collections.Specialized) स्ट्रिंग्स का एक संग्रह दर्शाती है। यह IList, ICollection, और IEnumerable इम्प्लीमेंट करती है। ध्यान दें: यह एक लीगेसी नॉन-जेनेरिक क्लास है; नए कोड के लिए List<string> उपयोग करें।

StringCollection प्रॉपर्टीज़

क्रमांकप्रॉपर्टीविवरण
1Countसंग्रह में स्ट्रिंग्स की संख्या प्राप्त करता है।
2IsReadOnlyयह दर्शाता है कि क्या संग्रह रीड-ओनली है।
3IsSynchronizedयह दर्शाता है कि क्या संग्रह थ्रेड-सेफ (सिंक्रोनाइज़्ड) है।
4Item[Int32]निर्दिष्ट इंडेक्स पर तत्व प्राप्त करता है या सेट करता है।
5SyncRootसिंक्रोनाइज़ेशन के लिए उपयोग होने वाला ऑब्जेक्ट प्राप्त करता है।

StringCollection मेथड्स

क्रमांकमेथडविवरण
1Add(String)स्ट्रिंग को संग्रह के अंत में जोड़ता है।
2AddRange(String[])स्ट्रिंग ऐरे के तत्वों को संग्रह के अंत में कॉपी करता है।
3Clear()सभी स्ट्रिंग्स को संग्रह से हटाता है।
4Contains(String)निर्दिष्ट स्ट्रिंग संग्रह में है या नहीं जांचता है।
5CopyTo(String[], Int32)संग्रह को एक-आयामी स्ट्रिंग ऐरे में निर्दिष्ट इंडेक्स से कॉपी करता है।
6Equals(Object)निर्दिष्ट ऑब्जेक्ट वर्तमान ऑब्जेक्ट के बराबर है या नहीं जांचता है।
7GetEnumerator()StringEnumerator लौटाता है जो संग्रह पर इटरेट करता है।
8IndexOf(String)निर्दिष्ट स्ट्रिंग का पहला इंडेक्स लौटाता है।
9Insert(Int32, String)निर्दिष्ट इंडेक्स पर स्ट्रिंग इंसर्ट करता है।
10Remove(String)निर्दिष्ट स्ट्रिंग का पहला ऑकरेंस हटाता है।
11RemoveAt(Int32)निर्दिष्ट इंडेक्स पर स्ट्रिंग हटाता है।

उदाहरण 1: दो StringCollection ऑब्जेक्ट्स की तुलना

using System;
using System.Collections.Specialized;

public class Demo {
    public static void Main() {
        StringCollection col1 = new StringCollection();
        col1.Add("Accessories");
        col1.Add("Books");
        col1.Add("Electronics");

        Console.WriteLine("StringCollection1 तत्व...");
        foreach (string item in col1) {
            Console.WriteLine(item);
        }

        StringCollection col2 = new StringCollection();
        col2.Add("Accessories");
        col2.Add("Books");
        col2.Add("Electronics");

        Console.WriteLine("\nStringCollection2 तत्व...");
        foreach (string item in col2) {
            Console.WriteLine(item);
        }

        // Equals रेफरेंस समानता जांचता है (कंटेंट नहीं!)
        Console.WriteLine("\nदोनों StringCollections समान हैं? = " + col1.Equals(col2));
        
        // कंटेंट समानता के लिए मैन्युअल जांच
        bool contentEqual = col1.Count == col2.Count;
        if (contentEqual) {
            for (int i = 0; i < col1.Count; i++) {
                if (col1[i] != col2[i]) {
                    contentEqual = false;
                    break;
                }
            }
        }
        Console.WriteLine("कंटेंट समान हैं? = " + contentEqual);
    }
}

आउटपुट

StringCollection1 तत्व...
Accessories
Books
Electronics

StringCollection2 तत्व...
Accessories
Books
Electronics

दोनों StringCollections समान हैं? = False
कंटेंट समान हैं? = True

उदाहरण 2: Contains से स्ट्रिंग मौजूदगी जांचना

using System;
using System.Collections.Specialized;

public class Demo {
    public static void Main() {
        StringCollection col = new StringCollection();
        string[] arr = { "100", "200", "300", "400", "500" };
        
        Console.WriteLine("ऐरे तत्व...");
        foreach (string item in arr) {
            Console.WriteLine(item);
        }

        col.AddRange(arr);
        
        Console.WriteLine("\nक्या '800' StringCollection में है? = " + col.Contains("800"));
        Console.WriteLine("क्या '300' StringCollection में है? = " + col.Contains("300"));
    }
}

आउटपुट

ऐरे तत्व...
100
200
300
400
500

क्या '800' StringCollection में है? = False
क्या '300' StringCollection में है? = True

महत्वपूर्ण नोट्स

  • लीगेसी क्लास: System.Collections.Specialized नेमस्पेस में; .NET 1.x से।
  • नॉन-जेनेरिक: प्रकार सुरक्षा नहीं; कंपाइल-टाइम जांच नहीं।
  • केस-सेंसिटिव: स्ट्रिंग तुलना केस-सेंसिटिव है।
  • Equals व्यवहार: Object.Equals ओवरराइड नहीं करता - रेफरेंस समानता जांचता है।
  • प्रदर्शन: List<string> से धीमा (बॉक्सिंग/अनबॉक्सिंग)।

आधुनिक विकल्प: List<string>

// अनुशंसित दृष्टिकोण
var list = new List<string>();
list.Add("Accessories");
list.Add("Books");
list.AddRange(new[] { "Electronics", "Clothing" });

bool hasItem = list.Contains("Books"); // O(n)
int index = list.IndexOf("Books");     // O(n)
list.Remove("Books");
list.Sort(); // वर्णानुक्रम सॉर्ट
  1. - C# में Convert क्लास का उपयोग

    Convert क्लास में एक बेस डेटा टाइप को दूसरे बेस डेटा टाइप में बदलने के मेथड्स होते हैं। कुछ उदाहरण देखते हैं: Convert.ToBoolean() मेथड निर्दिष्ट मान को समतुल्य बूलियन मान में बदलता है। सिंटैक्स public static bool ToBoolean (string val, IFormatProvider provider); यहां, val एक स्ट्रिंग है जिसमें True

  1. - C# में जांचें कि निर्दिष्ट स्ट्रिंग StringCollection में है या नहीं

    C# में StringCollection वर्ग की Contains(string) विधि का उपयोग करके यह जांचा जा सकता है कि कोई निर्दिष्ट स्ट्रिंग संग्रह में मौजूद है या नहीं। यह विधि स्ट्रिंग मिलने पर true और न मिलने पर false लौटाती है। उदाहरण 1: मौजूद न होने वाली स्ट्रिंग खोजना using System; using System.Collections.Specialized;

  1. C# में Console क्लास C# में Console क्लास

    C# में Console क्लास का उपयोग कंसोल एप्लिकेशन के लिए मानक इनपुट, आउटपुट और त्रुटि स्ट्रीम को दर्शाने के लिए किया जाता है। आइए C# में Console क्लास प्रॉपर्टीज के कुछ उदाहरण देखते हैं: Console.CursorLeft प्रॉपर्टी C# में कंसोल का CursorLeft बदलने के लिए Console.CursorLeft प्रॉपर्टी का उपयोग करें। उदा