C \ # 중 string, Int, Queue, Stack 의 잦 은 설정 값 중 어느 것 이 더 빠 릅 니까?

1939 단어 C#대열창고.
최근 프로젝트 는 winfrom 개발 에서 Socket 서 비 스 를 실시 간 으로 감청 하고 읽 기 문자 내용 을 인터페이스 에 보 여 주 는 장면 이 있 습 니 다.
처음에 제 실현 방식 은 static string 변수 로 스 레 드 에서 구성원 의 값 을 공유 하 는 것 이 었 습 니 다. 그러나 인터페이스 에서 보 여줄 때 현저 한 지연 이 있 었 습 니 다. 그래서 저 는 데이터 구조 가 바 뀌 는 것 이 좋 지 않 을 까 생각 했 습 니 다.이런 생각 이 들 면 바로 칼 을 쓴다. 코드 예 시 는 다음 과 같다.
 private static void Main(string[] args)
        {
            Stopwatch sw = new Stopwatch();
            sw.Start();

            #region string     0.1896ms

            string tempStr = "";
            for (int i = 0; i <= 1000; i++)
            {
                tempStr = i.ToString();
                tempStr = "";
            }

            #endregion string     0.1896ms

            #region            : 0.03ms

            //Queue queue = new Queue();
            //for (int i = 0; i <= 1000; i++)
            //{
            //    queue.Enqueue(i);
            //    queue.Dequeue();
            //}

            #endregion            : 0.03ms

            #region           : 0.058ms

            //Stack stack = new Stack();
            //for (int i = 0; i <= 1000; i++)
            //{
            //    stack.Push(i);
            //    stack.Pop();
            //}

            #endregion           : 0.058ms

            #region Int          : 0.0059ms

            //int tempIntValue = 0;
            //for (int i = 0; i <= 1000; i++)
            //{
            //    tempIntValue = i;
            //    tempIntValue = 0;
            //}

            #endregion Int          : 0.0059ms

            sw.Stop();

            TimeSpan ts = sw.Elapsed;
            string timeInteval = string.Format("    : {0}ms", ts.TotalMilliseconds);
            Console.WriteLine(timeInteval);
            Console.ReadKey();
        }

로 컬 환경 테스트 를 통 해 Int 유형의 빈번 한 조작 이 가장 빠 르 고 Queue, Stack 이 비슷 하 며 String 의 빈번 한 조작 이 가장 느리다.따라서 재 개발 에 서 는 문자열 의 조합 이 빈번 하지 않도록 해 야 한다.

좋은 웹페이지 즐겨찾기