Computer >> 컴퓨터 >  >> 프로그램 작성 >> C#

C#에서 StringCollection에 대한 동기화 액세스를 얻는 방법

<시간/>

StringCollection에 대한 동기화 액세스를 얻으려면 코드는 다음과 같습니다. -

using System;
using System.Collections.Specialized;
public class Demo {
   public static void Main() {
      StringCollection stringCol = new StringCollection();
      String[] arr = new String[] { "100", "200", "300", "400", "500" };
      Console.WriteLine("Array elements...");
      foreach (string res in arr) {
         Console.WriteLine(res);
      }
      stringCol.AddRange(arr);
      Console.WriteLine("Total number of elements = "+stringCol.Count);
      stringCol.RemoveAt(3);
      Console.WriteLine("Total number of elements now = "+stringCol.Count);
      Console.WriteLine("Synchronize access...");
      lock(stringCol.SyncRoot) {
         foreach(object ob in stringCol) {
            Console.WriteLine(ob);
         }
      }
   }
}

출력

이것은 다음과 같은 출력을 생성합니다 -

Array elements...
100
200
300
400
500
Total number of elements = 5
Total number of elements now = 4
Synchronize access...
100
200
300
500

다른 예를 보겠습니다 -

using System;
using System.Collections.Specialized;
public class Demo {
   public static void Main() {
      StringCollection strCol = new StringCollection();
      strCol.Add("Katie");
      strCol.Add("Philips");
      strCol.Add("Jacob");
      strCol.Add("Carl");
      strCol.Add("Gary");
      Console.WriteLine("Synchronize access...");
      lock(strCol.SyncRoot) {
         foreach(object ob in strCol) {
            Console.WriteLine(ob);
         }
      }
   }
}

출력

이것은 다음과 같은 출력을 생성합니다 -

Synchronize access...
Katie
Philips
Jacob
Carl
Gary