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

C# में Stack.Synchronized() मेथड


C# में Stack.Synchronized() मेथड Stack के लिए एक सिंक्रोनाइज़्ड (थ्रेड-सेफ) रैपर लौटाने के लिए उपयोग किया जाता है।

सिंटैक्स

सिंटैक्स इस प्रकार है:

public static System.Collections.Stack Synchronized (System.Collections.Stack stack);

ऊपर, पैरामीटर stack वह स्टैक है जिसे सिंक्रोनाइज़ करना है।

उदाहरण

आइए अब एक उदाहरण देखें:

using System; 
using System.Collections; 
public class Demo { 
    public static void Main() { 
        Stack stack = new Stack(); 
        stack.Push(150); 
        stack.Push(300); 
        stack.Push(500); 
        stack.Push(750); 
        stack.Push(1000); 
        stack.Push(1250); 
        stack.Push(1500); 
        stack.Push(2000); 
        stack.Push(2500); 
        Console.WriteLine("Stack elements..."); 
        foreach(int val in stack) { 
            Console.WriteLine(val); 
        } 
        Console.WriteLine("Count of elements = " + stack.Count); 
        Console.WriteLine("Element 750 is the stack? = " + stack.Contains(750)); 
        stack.Push(3000); 
        Console.WriteLine("\nStack elements...updated"); 
        foreach(int val in stack) { 
            Console.WriteLine(val); 
        } 
        Console.WriteLine("Count of elements (updated) = " + stack.Count); 
        Console.WriteLine("Element 5000 is the stack? = " + stack.Contains(5000)); 
        Stack stack2 = (Stack)stack.Clone(); 
        Console.WriteLine("\nStack elements...cloned"); 
        foreach(int val in stack2) { 
            Console.WriteLine(val); 
        } 
        Console.Write("Count of elements (updated) = " + stack2.Count); 
        Console.WriteLine("Is the Stack synchronized? = " + stack.IsSynchronized); 
        Stack stack3 = Stack.Synchronized(stack); 
        Console.WriteLine("Is the Stack synchronized? = " + stack3.IsSynchronized); 
    } 
}

आउटपुट

यह निम्न आउटपुट उत्पन्न करेगा:

Stack elements... 
2500 
2000 
1500 
1250 
1000 
750 
500 
300 
150 
Count of elements = 9 
Element 750 is the stack? = True 
Stack elements...updated 
3000 
2500 
2000 
1500 
1250 
1000 
750 
500 
300 
150 
Count of elements (updated) = 10 
Element 5000 is the stack? = False 
Stack elements...cloned 
3000 
2500 
2000 
1500 
1250 
1000 
750 
500 
300 
150 
Count of elements (updated) = 10 
Is the Stack synchronized? = False 
Is the Stack synchronized? = True

उदाहरण

आइए अब एक और उदाहरण देखें:

using System; 
using System.Collections; 
public class Demo { 
    public static void Main() { 
        Stack stack = new Stack(); 
        stack.Push("Inspiron"); 
        stack.Push("Alienware"); 
        stack.Push("Projectors"); 
        stack.Push("Monitors"); 
        stack.Push("XPS"); 
        stack.Push("Laptop"); 
        stack.Push("Notebook"); 
        Console.WriteLine("Stack elements..."); 
        foreach(string val in stack) { 
            Console.WriteLine(val); 
        } 
        Console.WriteLine("Count of elements = " + stack.Count); 
        stack.Push("Ultrabook"); 
        stack.Push("Cameras"); 
        stack.Push("Keyboards"); 
        Console.WriteLine("\nStack elements...updated"); 
        foreach(string val in stack) { 
            Console.WriteLine(val); 
        } 
        Console.WriteLine("\nCount of elements (updated) = " + stack.Count); 
        Console.WriteLine("Is the Stack synchronized? = " + stack.IsSynchronized); 
        Stack stack2 = Stack.Synchronized(stack); 
        Console.WriteLine("Is the Stack synchronized? = " + stack2.IsSynchronized); 
    } 
}

आउटपुट

यह निम्न आउटपुट उत्पन्न करेगा:

Stack elements... 
Notebook 
Laptop 
XPS 
Monitors 
Projectors 
Alienware 
Inspiron 
Count of elements = 7 
Stack elements...updated 
Keyboards 
Cameras 
Ultrabook 
Notebook 
Laptop 
XPS 
Monitors 
Projectors 
Alienware 
Inspiron 
Count of elements (updated) = 10 
Is the Stack synchronized? = False 
Is the Stack synchronized? = True
  1. - C# में SequenceEqual मेथड

    SequenceEqual मेथड का उपयोग संग्रहों की समानता के लिए परीक्षण करने के लिए किया जाता है।आइए तीन स्ट्रिंग सरणियाँ सेट करें:string[] arr1 = { "This", "is", "it" }; string[] arr2 = { "My", "work", "report" }; string[] arr3 = { "This",

  1. - C# में Aggregate() मेथड का उपयोग

    C# में Aggregate() मेथड का उपयोग किसी अनुक्रम पर संचयी संक्रिया (cumulative operation) करने के लिए किया जाता है। यह गणितीय संक्रियाओं जैसे योग (Sum), न्यूनतम (Min), अधिकतम (Max), औसत (Average), गुणनफल (Product) आदि के लिए उपयोगी है। उदाहरण: सरणी के तत्वों का गुणनफल मान लीजिए हमारे पास निम्न सरणी ह

  1. - C# में TakeWhile() मेथड का उपयोग

    C# में TakeWhile() मेथड System.Linq नेमस्पेस का एक एक्सटेंशन मेथड है जो किसी अनुक्रम से तब तक तत्व लौटाता है जब तक कि निर्दिष्ट शर्त (predicate) सत्य रहती है। जैसे ही शर्त असत्य होती है, तत्वों को लेना बंद कर दिया जाता है। उदाहरण मान लीजिए हमारे पास निम्न सरणी है: int[] arr = { 25, 40, 65, 70 };