如何将拆分字符串添加到列表?

时间:2016-01-26 17:55:57

标签: c# arrays list split

所以我有一个txt文件,其中包含我在代码顶部提供的名称。问题是如果它们包含''(空格)

,我想将这些行拆分成单独的行
John
James Peter
Mary Bob
Thomas
Michael

我希望它是这样的:

John
James
Peter
Mary
Bob
Thomas
Michael

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;

namespace ConsoleApplication21
{
    class Program
    {
        static void Main(string[] args)
        {


            #region test2

            StreamReader Fixed = new StreamReader("SSfile.txt");
            List<string> FixedList = new List<string>();
            List<string> FixedList2 = new List<string>();
            FixedList2.ToArray();
            string ReadFixed = Fixed.ReadLine();
            while (ReadFixed != null)
            {
                FixedList.Add(ReadFixed);
                ReadFixed = Fixed.ReadLine();

            }
            Fixed.Close();
            for (int i = 0; i < FixedList.Count(); i++)
            {
                FixedList[i].Split(' ');


            }
            Console.WriteLine(FixedList.ToString());

            Console.ReadKey();

            #endregion


            Console.ReadKey();
        }
    }
}

那我该怎么办?

2 个答案:

答案 0 :(得分:3)

使用LINQ的力量:

String.Split会根据给定的分隔符将字符串拆分为子字符串数组。

SelectMany将“压扁”一个集合。这意味着你提供了一个方法,将一个项目转换为多个项目(例如一个字符串转换为一个字符串数组),SelectMany将形成一个可枚举的项目。

namespace ConsoleApplication21
{
    class Program
    {
        static void Main(string[] args)
        {
           var names = File.ReadLines("SSfile.txt")
                           .SelectMany(line => line.Split(' '));

           foreach(var name in names)
           {
              Console.WriteLine(name);
           }
         }
     }
}

答案 1 :(得分:1)

拆分每一行,例如:

string.Join("\n","James Peter".Split(' '));