Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/311.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在C语言中将csv文件的不同行(数值)读取(保存)到不同的数组中#_C# - Fatal编程技术网

C# 如何在C语言中将csv文件的不同行(数值)读取(保存)到不同的数组中#

C# 如何在C语言中将csv文件的不同行(数值)读取(保存)到不同的数组中#,c#,C#,我是C#新手,尝试构建一种计算器应用程序,从csv文件中读取值,然后进行所需的操作 计算器算法工作正常,但我需要从csv文件填充数组。我使用StreamReader如下,但它将所有值放入一个数组中: FileStream aFile = new FileStream("d:\test.txt", FileMode.Open, FileAccess.Read); StreamReader sr = new StreamReader(aFile);

我是C#新手,尝试构建一种计算器应用程序,从csv文件中读取值,然后进行所需的操作

计算器算法工作正常,但我需要从csv文件填充数组。我使用StreamReader如下,但它将所有值放入一个数组中:

FileStream aFile = new FileStream("d:\test.txt", FileMode.Open, FileAccess.Read);
                StreamReader sr = new StreamReader(aFile);
                strLine = sr.ReadLine();
               while (strLine != null)
                {
                    strArray = strLine.Split(charArray);
                    for (int x = 1; x <= strArray.GetUpperBound(0); x++)
                    {
                        Console.WriteLine(strArray[x].Trim());
FileStream aFile=newfilestream(“d:\test.txt”,FileMode.Open,FileAccess.Read);
StreamReader sr=新的StreamReader(文件);
strLine=sr.ReadLine();
while(strLine!=null)
{
strArray=strLine.Split(charArray);
对于(intx=1;x,该类非常适合读取CSV文件

TextFieldParser parser = new TextFieldParser("filename.txt");
parser.Delimiters = new[] { "," };
while (!parser.EndOfData)
{
    string[] fields = parser.ReadFields();
    //process this line of fields, or store it for later processing
}

然后,您可以使用
int.TryParse
double.TryParse
将适当的字符串转换为数值。

非常感谢您的评论和帮助-非常感谢。我可以使用以下方法分别阅读行:

using (TextFieldParser fieldParser = new TextFieldParser(name)) "d:\\test1.txt"))
        {
          parts = fieldParser.ReadFields();
然后使用以下命令将两行中的值保存在双数组中:

double[] array = Array.ConvertAll(parts, double.Parse);
然后,我使用计数器和EndOfData属性来管理定义独立阵列的线路交换机:

counter++;
if (fieldParser.EndOfData)
                {

再次感谢。may calculator现在正在运行,可以在

上找到。您需要修复代码的格式。我本来打算编辑这篇文章,但我不知道您在做什么。在您在
for
循环中声明之前,您正在使用内部
I
索引器。
counter++;
if (fieldParser.EndOfData)
                {