ConcerrentDictionary 값을 설정할 때 고려할 사항

개인 컬렉션의 ConcerrentDictionary 값 세트에 대한 주의 사항을 기록합니다.
ConcerrentDictionary의 AddOrUpdate는 Add 순서대로 pair를 추가하지 않을 수 있습니다.
코드는 다음과 같습니다.
    class Program
    {
        static ConcurrentDictionary<string, string> testDictionary = new ConcurrentDictionary<string, string>();

        static public void Main()
        {
            var task = Task.Factory.StartNew(() => { AddDic(); });
            task.Wait();
            return;
        }

        static private void AddDic()
        {
            Dictionary<string, string> strStack = new Dictionary<string, string>(){
            {"Key1", "Value1"},
            {"Key2", "Value2"},
            {"Key3", "Value3"}};

            foreach (KeyValuePair<string, string> pair in strStack)
            {
                Console.WriteLine(pair.Value);
                testDictionary.AddOrUpdate(pair.Key, pair.Value, (Key, Value) => { return Value; });
            }

            foreach(var pair in testDictionary)
            {
                Console.WriteLine(pair.Value);
            }
        }
    }
}

환경의 차이?이 가능하다, ~할 수 있다,...
만약 무슨 오해가 있다면 나에게 피드백을 줄 수 있다면 나는 매우 기쁠 것이다.

좋은 웹페이지 즐겨찾기