ในการซิงโครไนซ์การเข้าถึง 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