正在try 读取CSV文件并将内容添加到Double[]array. 该文件的内容似乎可以正确地添加到字符串数组中,但在try 解析为双精度数组时,它会中断,并显示错误:

System.FormatException:输入字符串的格式不正确.

节目内容:

string[] csvFile = System.IO.File.ReadAllText(@"C:\\Users\\...\\Documents\\CSVExample.csv").Split(',');
double[] dblArray = Array.ConvertAll(csvFile, double.Parse);
foreach (double d in dblArray)
{
    System.Console.WriteLine(d);
}

CSV内容:

10,14,7,1,19,4,15,17,16,5,13,8,18,2,12,9,3,20,6,11
6,10,13,17,4,11,5,14,19,3,9,20,15,8,1,2,18,7,12,16
13,5,11,6,4,10,9,17,19,14,1,16,12,8,7,18,20,2,15,3
2,5,4,14,20,15,3,13,7,1,12,8,19,18,11,10,9,6,16,17

还try 过: Double[]dblArray=dblArray.Select(s=>Convert.ToDouble(S)).ToArray(); 如上所述,出现了相同的错误.

推荐答案

换行符是拆分后字符串的一部分,您可以使用以下方法:

string[] csvFile = System.IO.File.ReadLines(@"C:\\Users\\...\\Documents\\CSVExample.csv")
    .SelectMany(line => line.Split(','))
    .ToArray();
// .. rest of code same

另一种方法是按两个字符进行拆分:

string[] csvFile = System.IO.File.ReadAllText(@"C:\\Users\\...\\Documents\\CSVExample.csv")
    .Split(new[]{',', '\n'}, StringSplitOptions.None)
    .ToArray();

Csharp相关问答推荐

访问C#中的数据库字段时获取数据是收件箱错误-为什么?&有效,如果声明不有效

VB.Net的SON模式导致集合代码不工作

如何使用PDFSharp将文本添加到现有PDF

为什么使用DXGI输出复制和Direct 3D时捕获的图像数据全为零?

在依赖性注入和继承之间进行 Select

向类注入一个工厂来创建一些资源是一个好的实践吗?

Elasticsearch:当我try 使用c#将嵌套对象添加到filter中时出现问题

如何在Visual Studio代码中更改大括号模式{},用于C#语言

如何注册实现同一接口的多个服务并注入到控制器构造函数中

.NET HttpClient、JsonSerializer或误用的Stream中的内存泄漏?

从依赖项容器在.NET 8中的Program.cs文件中添加IOC

Unix上的.NET(核心):.NET意外地未看到通过P/Invoke系统调用对环境变量进行的进程内修改

Automapper 12.x将GUID映射到字符串

如何允许数组接受多个类型?

使用C#和.NET 7.0无法访问Cookie中的数据

{ or ; expected error如何解决此问题

两个DateTimeOffset之间的差异返回意外的负值

使用C#代码和SQL SERVER中的相同证书签名会产生不同的结果

将文本从剪贴板粘贴到RichTextBox时,新文本不会在RichTextBox ForeColor中着色

如何处理ASP.NET Core中包含两个构造函数的控制器?