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

C# में HashSet से प्रीडिकेट द्वारा परिभाषित शर्तों वाले तत्व हटाएं

C# में HashSet<T> वर्ग की RemoveWhere(Predicate<T>) विधि का उपयोग करके उन सभी तत्वों को हटाया जा सकता है जो निर्दिष्ट प्रीडिकेट (शर्त) से मेल खाते हैं। यह विधि प्रीडिकेट से मेल खाने वाले सभी तत्वों को एक साथ हटाती है और हटाए गए तत्वों की संख्या लौटाती है।

उदाहरण 1: विशिष्ट मान 100 हटाना

using System;
using System.Collections.Generic;

public class Demo {
    private static bool Demo(int i) {
        return (i == 100);
    }
    
    public static void Main(String[] args) {
        HashSet list = new HashSet();
        list.Add(100);
        list.Add(300);
        list.Add(400);
        list.Add(500);
        list.Add(600);
        
        Console.WriteLine("HashSet तत्व...");
        foreach (int i in list) {
            Console.WriteLine(i);
        }
        
        Console.WriteLine();
        
        int removedCount = list.RemoveWhere(Demo);
        
        Console.WriteLine("तत्व 100 हटाने के बाद HashSet...");
        foreach (int i in list) {
            Console.WriteLine(i);
        }
        
        Console.WriteLine("हटाए गए तत्वों की संख्या: " + removedCount);
    }
}

आउटपुट

HashSet तत्व...
100
300
400
500
600

HashSet तत्व 100 हटाने के बाद...
300
400
500
600
हटाए गए तत्वों की संख्या: 1

उदाहरण 2: 10 से विभाज्य तत्व हटाना

using System;
using System.Collections.Generic;

public class Demo {
    private static bool Demo(int i) {
        return ((i % 10) == 0);
    }
    
    public static void Main(String[] args) {
        HashSet list = new HashSet();
        list.Add(100);
        list.Add(355);
        list.Add(400);
        list.Add(555);
        list.Add(600);
        
        Console.WriteLine("HashSet तत्व...");
        foreach (int i in list) {
            Console.WriteLine(i);
        }
        
        Console.WriteLine();
        
        int removedCount = list.RemoveWhere(Demo);
        
        Console.WriteLine("कुछ तत्व हटाने के बाद HashSet...");
        foreach (int i in list) {
            Console.WriteLine(i);
        }
        
        Console.WriteLine("हटाए गए तत्वों की संख्या: " + removedCount);
    }
}

आउटपुट

HashSet तत्व...
100
355
400
555
600

HashSet कुछ तत्व हटाने के बाद...
355
555
हटाए गए तत्वों की संख्या: 3

मुख्य बिंदु

  • RemoveWhere(Predicate<T>) प्रीडिकेट से मेल खाने वाले सभी तत्व हटाता है
  • वापसी मान int होता है: हटाए गए तत्वों की संख्या
  • HashSet<T> डुप्लिकेट नहीं रखता और क्रम गारंटी नहीं देता
  • प्रीडिकेट एक फ़ंक्शन है जो bool लौटाता है
  • लैम्ब्डा एक्सप्रेशन का उपयोग कर सकते हैं: set.RemoveWhere(x => x % 10 == 0)
  • औसत समय जटिलता O(n) है जहाँ n तत्वों की संख्या है
  1. विंडोज में  ओपन विद  (Open With) सूची से ऐप्स कैसे हटाएं विंडोज में "ओपन विद" (Open With) सूची से ऐप्स कैसे हटाएं

    विंडोज 10 में किसी फाइल पर राइट-क्लिक करने से ओपन विद (open with) विकल्प मिलता है जो आपको चयनित फाइल को खोलने के लिए किस एप्लिकेशन का उपयोग करना है, यह चुनने की अनुमति देता है। दुर्भाग्य से, कभी-कभी यह उन ऐप्स के साथ फाइल खोलने का विकल्प देता है जो फाइल के लिए उपयुक्त नहीं हैं। हालांकि यह एक गंभीर स

  1. - C# प्रोग्राम सूची से डुप्लीकेट तत्व हटाने के लिए

    एक सूची घोषित करें और तत्व जोड़ें। List list = new List(); list.Add(50); list.Add(90); list.Add(50); list.Add(100); अब, केवल अद्वितीय तत्व प्राप्त करने के लिए Distinct() विधि का उपयोग करें। List myList = list.Distinct().ToList(); सूची से डुप्लीकेट तत्व हटाने का पूरा कोड निम्नलिखित है: उदाहरण using

  1. - Java प्रोग्राम: LinkedList से एलिमेंट्स हटाना

    इस लेख में हम समझेंगे कि Java में LinkedList से एलिमेंट्स कैसे हटाए जाते हैं। java.util.LinkedList क्लास ऑपरेशन्स डबल-लिंक्ड लिस्ट के लिए अपेक्षित प्रदर्शन करते हैं। उदाहरण इनपुट: The list is defined as: [Java, Scala, Python, JavaScript, C++] आउटपुट: The list after removing all the elements is: [P