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

C# में कैसे जांचें कि स्ट्रिंग सरणी में कोई विशेष शब्द है या नहीं

C# में, String.Contains() एक स्ट्रिंग मेथड है। यह मेथड जांचने के लिए उपयोग किया जाता है कि क्या सबस्ट्रिंग दिए गए स्ट्रिंग के भीतर होती है या नहीं।

यह बूलियन मान लौटाता है। यदि सबस्ट्रिंग स्ट्रिंग में मौजूद है या मान खाली स्ट्रिंग ("") है, तो यह True लौटाता है, अन्यथा False लौटाता है।

एक्सेप्शन - यह मेथड ArgumentNullException दे सकता है यदि str नल है।

यह मेथड केस-सेंसिटिव जांच करता है। खोज हमेशा स्ट्रिंग के पहले कैरेक्टर पोजीशन से शुरू होती है और अंतिम कैरेक्टर पोजीशन तक जारी रहती है।

उदाहरण 1: केस-सेंसिटिव जांच

static void Main(string[] args)
{
    string[] strs = { "Sachin", "India", "Bangalore", "Karnataka", "Delhi" };
    
    if (strs.Contains("sachin")) // लोअरकेस - नहीं मिलेगा
    {
        Console.WriteLine("String Present");
    }
    else
    {
        Console.WriteLine("String Not Present");
    }
    Console.ReadLine();
}

आउटपुट

String Not Present

उदाहरण 2: सही केस के साथ

static void Main(string[] args)
{
    string[] strs = { "Sachin", "India", "Bangalore", "Karnataka", "Delhi" };
    
    if (strs.Contains("Sachin")) // सही केस
    {
        Console.WriteLine("String Present");
    }
    else
    {
        Console.WriteLine("String Not Present");
    }
    Console.ReadLine();
}

आउटपुट

String Present

उदाहरण 3: LINQ का उपयोग करके (केस-इनसेंसिटिव)

static void Main(string[] args)
{
    string[] strs = { "Sachin", "India", "Bangalore", "Karnataka", "Delhi" };
    
    // केस-इनसेंसिटिव खोज
    var res = strs.FirstOrDefault(x => x.Equals("sachin", StringComparison.OrdinalIgnoreCase));
    
    Console.WriteLine(res ?? "Not found"); // आउटपुट: Sachin
    Console.ReadLine();
}

उदाहरण 4: फोरच लूप के साथ

static void Main(string[] args)
{
    string[] strs = { "Sachin", "India", "Bangalore", "Karnataka", "Delhi" };
    
    foreach (var item in strs)
    {
        if (item == "Sachin") // या item.Equals("Sachin")
        {
            Console.WriteLine("String is present");
            break; // मिलने पर जल्दी बाहर निकलें
        }
    }
    Console.ReadLine();
}

आउटपुट

String is present

तुलना: सरणी में खोज के तरीके

विधिकेस-सेंसिटिवरिटर्नप्रदर्शन
array.Contains(value)हाँboolO(n)
Array.IndexOf(array, value)हाँint (इंडेक्स या -1)O(n)
array.Any(x => x == value)हाँboolO(n)
Array.BinarySearchहाँintO(log n) *सॉर्टेड सरणी आवश्यक*
array.FirstOrDefault(x => x.Equals(v, IgnoreCase))नहींT या nullO(n)
HashSet<T>.ContainsहाँboolO(1) औसत

सर्वोत्तम अभ्यास

  • बार-बार खोज के लिए: HashSet<string> में बदलें O(1) लुकअप के लिए
  • केस-इनसेंसिटिव: StringComparison.OrdinalIgnoreCase के साथ Equals का उपयोग करें
  • पैटर्न मिलान: Where(x => x.Contains(...)) या रेजेक्स का उपयोग करें
  • पहला मैच: FirstOrDefault पूरे एन्यूमरेशन से बचने के लिए
  • बूलियन जांच: Any Count > 0 से तेज़ (शॉर्ट-सर्किट)

केस-इनसेंसिटिव Contains एक्सटेंशन

public static class ArrayExtensions
{
    public static bool ContainsIgnoreCase(this string[] array, string value)
    {
        if (array == null || value == null) return false;
        return array.Any(s => s.Equals(value, StringComparison.OrdinalIgnoreCase));
    }
}

// उपयोग
string[] cities = { "Delhi", "Mumbai", "Bangalore" };
bool found = cities.ContainsIgnoreCase("delhi"); // true
  1. - C# में जांचें कि सरणी में कोई आइटम मौजूद है या नहीं

    C# सरणी में कोई आइटम मौजूद है या नहीं जांचने के लिए Equals विधि का उपयोग करें। स्ट्रिंग और उपस्ट्रिंग सेट करें: string subStr = pqrs; string[] str = { abcd, ijkl, pqrs, wxyz }; अब जांचें कि उपस्ट्रिंग Equals विधि का उपयोग करके स्ट्रिंग का हिस्सा है या नहीं। if (item.Equals(subStr))

  1. - C# में खाली स्ट्रिंग ऐरे कैसे घोषित करें?

    C# में, आप स्ट्रिंग्स को कैरेक्टर्स के ऐरे के रूप में उपयोग कर सकते हैं, हालांकि अधिक सामान्य अभ्यास स्ट्रिंग वेरिएबल घोषित करने के लिए string कीवर्ड का उपयोग करना है। string कीवर्ड System.String क्लास का एलियास है।खाली स्ट्रिंग घोषित करने के लिए।string[] arr = new string[] {}; // खाली स्ट्रिंगअब दे

  1. - Python में कैसे जांचें कि स्ट्रिंग में केवल संख्याएँ हैं?

    Python में स्ट्रिंग की जांच करना कि इसमें केवल अंक हैं Python में एक बिल्ट-इन फ़ंक्शन isdigit() है जो true लौटाता है यदि स्ट्रिंग में सभी वर्ण अंक (0-9 के बीच) हैं। >>> string = 9764135408 >>> string.isdigit() True >>> string = 091-9764135408 >>> string.isdigit()