728x90
반응형

C#에서 지원하는 Parse는 여러가지가 존재한다.
가장 대표적인 예시는 int->string, string->int 정도가 있는데
int->string은 ToString(), System.Convert.ToString()이 있고
string->int는 int.Parse(), int.TryParse()가 있다.
각각의 속도는 어떨까?

using System;

public class Ex : MonoBehaviour
{
    List<int> integers = new List<int>();
    List<string> strs = new List<string>();
    int LoopCount = 100000;

    void Start()
    {
        for(int i = 0; i < LoopCount; i++)
        {
            integers.Add(i);
            strs.Add(i.ToString());
        }
    }

    void Update()
    {
        for(int i = 0; i < LoopCount; i++)
        {
            string str_1 = integers[i].ToString();
            string str_2 = integers[i].System.Convert.ToString(integers[i]);
            int integer_1 = int.Parse(strs[i]);
            int integer_2;
            int.TryParse(strs[i], out integer_2);
        }
    }
}

속도를 보면 
int->string은 속도가 비슷하거나 뒤죽박죽 하기 때문에 입맛에 따라 쓰면 될 것 같다.
string->int의 경우 int.Parse가 1000회당 0.01ms 정도 느리다. 입맛에 따라 사용해도 되긴 하지만 안전한 코드 사용을 위해 int.TryParse를 사용하는 것을 권장

728x90
반응형

+ Recent posts