如何在C#中的每一行获取字符串内容

时间:2014-11-11 12:02:50

标签: c# .net string

我有一个字符串,其中包含一个动态运行的小代码。 但我想将每一行字符串存储在单独的数据结构中,并计算行数。

string CodeStr = @"using System";

namespace ConsoleApplication2
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine(" Hello World");
        }
    }
}

用于计算行数:

        int count = 0;
        int position = 0;
        while ((position = CodeStr.IndexOf('\n', position)) != -1)
        {
            count++;
            position++;       
        }

但我不知道如何在每一行获取内容,如

第1行:使用System;

第2行:命名空间ConsoleApplication2

第3行:{等等完整的字符串。

1 个答案:

答案 0 :(得分:5)

如果string在代码中,则只需使用Split拆分字符串:

string[] lines = CodeStr.Split( new string[] { Environment.NewLine }
                              , StringSplitOptions.None
                              );

或者,如果从磁盘读取文件,请使用File.ReadAllLines

string[] lines = File.ReadAllLines(yourFilePath);