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

C# में Array.IsSynchronized प्रॉपर्टी क्या करती है?

C# में Array.IsSynchronized प्रॉपर्टी

Array.IsSynchronized एक बूलियन प्रॉपर्टी है जो इंगित करती है कि क्या एरे पर एक्सेस सिंक्रनाइज़्ड (थ्रेड-सेफ) है। मानक एरे के लिए यह हमेशा false लौटाती है।

सिंटैक्स

public bool IsSynchronized { get; }

उदाहरण

using System;
using System.Collections.Generic;
using System.Linq;

class Program {
    static void Main() {
        Array arr = new int[] { 2, 1, 9, 4, 8, 6, 8 };
        
        Console.WriteLine($"IsSynchronized: {arr.IsSynchronized}"); // False
        
        // थ्रेड-सेफ एन्यूमरेशन के लिए SyncRoot पर लॉक लें
        lock (arr.SyncRoot) {
            foreach (object val in arr) {
                Console.WriteLine(val);
            }
        }
    }
}

आउटपुट

IsSynchronized: False
2
1
9
4
8
6
8

मुख्य बिंदु

  • IsSynchronized ICollection इंटरफेस के अनुपालन के लिए लागू की गई है।
  • मानक .NET एरे आंतरिक रूप से सिंक्रनाइज़्ड नहीं हैं; यह हमेशा false लौटाता है।
  • थ्रेड सेफ्टी के लिए SyncRoot प्रॉपर्टी पर lock का उपयोग करें (जैसा ऊपर दिखाया गया)।
  • कस्टम कलेक्शन क्लासेस IsSynchronized को true लौटाने और आंतरिक सिंक्रनाइज़ेशन प्रदान करने के लिए ओवरराइड कर सकती हैं।
  • आधुनिक कोड के लिए System.Collections.Concurrent नेमस्पेस (ConcurrentBag, ConcurrentQueue, ConcurrentDictionary) का उपयोग करें जो लॉक-फ्री थ्रेड-सेफ ऑपरेशन्स देते हैं।

IsSynchronized vs SyncRoot

प्रॉपर्टीउद्देश्यमानक एरे के लिए मान
IsSynchronizedक्या एरे थ्रेड-सेफ है?false
SyncRootसिंक्रनाइज़ेशन के लिए लॉक ऑब्जेक्टएरे इंस्टेंस स्वयं
  1. - C# में Array.Rank प्रॉपर्टी क्या करती है

    आइए Rank प्रॉपर्टी का उपयोग करके ऐरे के आयामों की संख्या जानने का उदाहरण देखें। arr.Rank यहाँ, arr हमारा ऐरे है - int[,] arr = new int[5,5]; यदि आप ऐरे की पंक्तियों और कॉलम प्राप्त करना चाहते हैं, तो GetLength प्रॉपर्टी का उपयोग करें - arr.GetLength(0); arr.GetLength(1); निम्नलिखित पूर्ण कोड है - उद

  1. - C# में BitArray क्लास का Count गुण क्या है?

    BitArray क्लास में एलिमेंट्स की संख्या Count गुण का उपयोग करके गिनें।आइए पहले हमारा BitArray क्लास सेट करें:BitArray arr = new BitArray(10);अब Count गुण का उपयोग नीचे दिखाए अनुसार करें:उदाहरणusing System; using System.Collections; public class Demo {    public static void Main() {   &

  1. - C# में SortedList क्लास का Capacity गुण क्या है?

    SortedList क्लास में Capacity गुण SortedList के अधिकतम आकार को दर्शाता है।SortedList की डिफ़ॉल्ट क्षमता 16 होती है।आप C# में SortedList क्लास के Capacity गुण को कार्यान्वित करने के लिए निम्न कोड चलाने का प्रयास कर सकते हैं:उदाहरणusing System; using System.Collections; namespace Demo {    c