如何阅读直到看到'';来自文本C#

如何阅读直到看到'';来自文本C#,c#,C#,我试图从文本中读到逗号,我将使用逗号的两边。第一部分表示分钟,另一部分表示角度。文本如下: 0.34,34.3 0.46,32.5 0.56,36.7 我试着把这些线分开,但不是这样的 String[] lines = File.ReadAllLines("turn.txt"); string[] parts = new String[]{""}; foreach (string line in lines) { pa

我试图从文本中读到逗号,我将使用逗号的两边。第一部分表示分钟,另一部分表示角度。文本如下:

0.34,34.3
0.46,32.5
0.56,36.7
我试着把这些线分开,但不是这样的

  String[] lines = File.ReadAllLines("turn.txt");
        string[] parts = new String[]{""};
        foreach (string line in lines)
        {
            parts = line.Split(',');
            //Console.WriteLine(line);
        }

        foreach (string part in parts)
        {

            Console.WriteLine(part);
        }

输出仅给出“时间”端的第一行和最后一行。我怎样才能得到这两个值

你发布的代码没有意义,我不确定你想做什么

String[] lines = File.ReadAllLines("turn.txt");
    foreach (string line in lines)
    {
        String[] parts = line.Split(',');
        //Console.WriteLine(line);
        foreach (string part in parts)
        {
            Console.WriteLine(part);
        }
    }
您的代码所做的是,它将只运行最后一行的部分,因为当第一行完成时,您只能到达第二行,即文本文件的最后一行

另一方面,如果你想读一行,直到你读到一行带有逗号的文字,那么你需要的是这样的文字:

String[] lines = File.ReadAllLines("turn.txt");
String[] parts = new String[] {};
    foreach (string line in lines)
    {
        parts = line.Split(',');
        if (parts.length > 1) {
            break;
        }
        //Console.WriteLine(line);
    }
    foreach (string part in parts)
    {
        Console.WriteLine(part);
    }

你发布的代码没有意义,我不知道你想做什么

String[] lines = File.ReadAllLines("turn.txt");
    foreach (string line in lines)
    {
        String[] parts = line.Split(',');
        //Console.WriteLine(line);
        foreach (string part in parts)
        {
            Console.WriteLine(part);
        }
    }
您的代码所做的是,它将只运行最后一行的部分,因为当第一行完成时,您只能到达第二行,即文本文件的最后一行

另一方面,如果你想读一行,直到你读到一行带有逗号的文字,那么你需要的是这样的文字:

String[] lines = File.ReadAllLines("turn.txt");
String[] parts = new String[] {};
    foreach (string line in lines)
    {
        parts = line.Split(',');
        if (parts.length > 1) {
            break;
        }
        //Console.WriteLine(line);
    }
    foreach (string part in parts)
    {
        Console.WriteLine(part);
    }

你发布的代码没有意义,我不知道你想做什么

String[] lines = File.ReadAllLines("turn.txt");
    foreach (string line in lines)
    {
        String[] parts = line.Split(',');
        //Console.WriteLine(line);
        foreach (string part in parts)
        {
            Console.WriteLine(part);
        }
    }
您的代码所做的是,它将只运行最后一行的部分,因为当第一行完成时,您只能到达第二行,即文本文件的最后一行

另一方面,如果你想读一行,直到你读到一行带有逗号的文字,那么你需要的是这样的文字:

String[] lines = File.ReadAllLines("turn.txt");
String[] parts = new String[] {};
    foreach (string line in lines)
    {
        parts = line.Split(',');
        if (parts.length > 1) {
            break;
        }
        //Console.WriteLine(line);
    }
    foreach (string part in parts)
    {
        Console.WriteLine(part);
    }

你发布的代码没有意义,我不知道你想做什么

String[] lines = File.ReadAllLines("turn.txt");
    foreach (string line in lines)
    {
        String[] parts = line.Split(',');
        //Console.WriteLine(line);
        foreach (string part in parts)
        {
            Console.WriteLine(part);
        }
    }
您的代码所做的是,它将只运行最后一行的部分,因为当第一行完成时,您只能到达第二行,即文本文件的最后一行

另一方面,如果你想读一行,直到你读到一行带有逗号的文字,那么你需要的是这样的文字:

String[] lines = File.ReadAllLines("turn.txt");
String[] parts = new String[] {};
    foreach (string line in lines)
    {
        parts = line.Split(',');
        if (parts.length > 1) {
            break;
        }
        //Console.WriteLine(line);
    }
    foreach (string part in parts)
    {
        Console.WriteLine(part);
    }

第一个问题,零件将只包含最后一行的零件。因为每次都是你设定的。 部件应该是数组的数组,还有一种更简单的方法是使用列表

    List<string[]> parts = new List<string[]>();
    foreach (string line in lines)
    {
        parts.add(line.Split(','));
    }

    foreach (string[] part in parts)
    {
       foreach (string p in part)
       {
         Console.WriteLine(p);
       }
    }
List parts=new List();
foreach(行中的字符串行)
{
部分.添加(行.拆分(',');
}
foreach(字符串[]部分中的部分)
{
foreach(部分为字符串p)
{
控制台写入线(p);
}
}

第一个问题,零件将只包含最后一行的零件。因为每次都是你设定的。 部件应该是数组的数组,还有一种更简单的方法是使用列表

    List<string[]> parts = new List<string[]>();
    foreach (string line in lines)
    {
        parts.add(line.Split(','));
    }

    foreach (string[] part in parts)
    {
       foreach (string p in part)
       {
         Console.WriteLine(p);
       }
    }
List parts=new List();
foreach(行中的字符串行)
{
部分.添加(行.拆分(',');
}
foreach(字符串[]部分中的部分)
{
foreach(部分为字符串p)
{
控制台写入线(p);
}
}

第一个问题,零件将只包含最后一行的零件。因为每次都是你设定的。 部件应该是数组的数组,还有一种更简单的方法是使用列表

    List<string[]> parts = new List<string[]>();
    foreach (string line in lines)
    {
        parts.add(line.Split(','));
    }

    foreach (string[] part in parts)
    {
       foreach (string p in part)
       {
         Console.WriteLine(p);
       }
    }
List parts=new List();
foreach(行中的字符串行)
{
部分.添加(行.拆分(',');
}
foreach(字符串[]部分中的部分)
{
foreach(部分为字符串p)
{
控制台写入线(p);
}
}

第一个问题,零件将只包含最后一行的零件。因为每次都是你设定的。 部件应该是数组的数组,还有一种更简单的方法是使用列表

    List<string[]> parts = new List<string[]>();
    foreach (string line in lines)
    {
        parts.add(line.Split(','));
    }

    foreach (string[] part in parts)
    {
       foreach (string p in part)
       {
         Console.WriteLine(p);
       }
    }
List parts=new List();
foreach(行中的字符串行)
{
部分.添加(行.拆分(',');
}
foreach(字符串[]部分中的部分)
{
foreach(部分为字符串p)
{
控制台写入线(p);
}
}

除了Andreas的答案,您还可以使用2D数组制作数组数组,如下所示:

string[][] parts
二维数组的第一个维度必须具有文本的行数长度。第二维存储字符串在以“,”字符分隔的行中

String[] lines = File.ReadAllLines("turn.txt");
string[][] parts = new String[lines.Length][];
int counter = 0;
foreach (string line in lines)
{
    parts[counter++] = line.Split(',');
}
要显示结果,您可以使用Andreas answer执行以下操作:

foreach (string[] part in parts)
{
    foreach (string p in part)
    {
        Console.Write(p + " ");
    }
    Console.WriteLine();
}

除了Andreas的答案之外,您还可以将数组的数组与2D数组组合成如下所示:

string[][] parts
二维数组的第一个维度必须具有文本的行数长度。第二维存储字符串在以“,”字符分隔的行中

String[] lines = File.ReadAllLines("turn.txt");
string[][] parts = new String[lines.Length][];
int counter = 0;
foreach (string line in lines)
{
    parts[counter++] = line.Split(',');
}
要显示结果,您可以使用Andreas answer执行以下操作:

foreach (string[] part in parts)
{
    foreach (string p in part)
    {
        Console.Write(p + " ");
    }
    Console.WriteLine();
}

除了Andreas的答案之外,您还可以将数组的数组与2D数组组合成如下所示:

string[][] parts
二维数组的第一个维度必须具有文本的行数长度。第二维存储字符串在以“,”字符分隔的行中

String[] lines = File.ReadAllLines("turn.txt");
string[][] parts = new String[lines.Length][];
int counter = 0;
foreach (string line in lines)
{
    parts[counter++] = line.Split(',');
}
要显示结果,您可以使用Andreas answer执行以下操作:

foreach (string[] part in parts)
{
    foreach (string p in part)
    {
        Console.Write(p + " ");
    }
    Console.WriteLine();
}

除了Andreas的答案之外,您还可以将数组的数组与2D数组组合成如下所示:

string[][] parts
二维数组的第一个维度必须具有文本的行数长度。第二维存储字符串在以“,”字符分隔的行中

String[] lines = File.ReadAllLines("turn.txt");
string[][] parts = new String[lines.Length][];
int counter = 0;
foreach (string line in lines)
{
    parts[counter++] = line.Split(',');
}
要显示结果,您可以使用Andreas answer执行以下操作:

foreach (string[] part in parts)
{
    foreach (string p in part)
    {
        Console.Write(p + " ");
    }
    Console.WriteLine();
}

只需将部分声明为
string[]parts
。不需要初始化。请更清楚地说明。停止什么?你已经看完了所有的台词。停止打印?什么时候当一行包含逗号时?如果(parts.Length>1)中断,只需添加
在第一个
foreach
中。顺便说一句,这将只打印第一行逗号。如果你想把它们全部打印出来,你必须制作一个
parts
List
(将
Split()
result或
line
本身添加到这样的集合中)。@AdrianoRepetti它将打印最后一行。@dodotu显然!您首先读取所有行,对于替换
部件中的每一行
。只有在完成之后(以及最后一次)