Does any one know of a faster method to do String.Split()?

后端 未结 14 1211
傲寒
傲寒 2020-12-03 10:57

I am reading each line of a CSV file and need to get the individual values in each column. So right now I am just using:

values = line.Split(delimiter);
         


        
14条回答
  •  天涯浪人
    2020-12-03 11:04

        public static unsafe List SplitString(char separator, string input)
        {
            List result = new List();
            int i = 0;
            fixed(char* buffer = input)
            {
                for (int j = 0; j < input.Length; j++)
                {
                    if (buffer[j] == separator)
                    {
                        buffer[i] = (char)0;
                        result.Add(new String(buffer));
                        i = 0;
                    }
                    else
                    {
                        buffer[i] = buffer[j];
                        i++;
                    }
                }
                buffer[i] = (char)0;
                result.Add(new String(buffer));
            }
            return result;
        }
    

提交回复
热议问题