Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/63.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文件读取数据并在DataGridView中显示 公共部分类Form1:Form { 公共表格1 { 初始化组件; } 私有无效btnLoad\u Clickobject发送者,事件参数e { dgvData.DataSource=LoadCSV@C:\working\Summary.csv; } 公共列表LoadCSVstring csvFile { var query=来自File.ReadAllLinescsvFile中的行 设data=line.Split',' 选择新产品 { A=数据[0], B=数据[1] }; 返回query.ToList; } 公共类产品 { 公共字符串A{get;set;} 公共字符串B{get;set;} } }_C#_Csv_Datagridview - Fatal编程技术网

C# C-从CSV文件读取数据并在DataGridView中显示 公共部分类Form1:Form { 公共表格1 { 初始化组件; } 私有无效btnLoad\u Clickobject发送者,事件参数e { dgvData.DataSource=LoadCSV@C:\working\Summary.csv; } 公共列表LoadCSVstring csvFile { var query=来自File.ReadAllLinescsvFile中的行 设data=line.Split',' 选择新产品 { A=数据[0], B=数据[1] }; 返回query.ToList; } 公共类产品 { 公共字符串A{get;set;} 公共字符串B{get;set;} } }

C# C-从CSV文件读取数据并在DataGridView中显示 公共部分类Form1:Form { 公共表格1 { 初始化组件; } 私有无效btnLoad\u Clickobject发送者,事件参数e { dgvData.DataSource=LoadCSV@C:\working\Summary.csv; } 公共列表LoadCSVstring csvFile { var query=来自File.ReadAllLinescsvFile中的行 设data=line.Split',' 选择新产品 { A=数据[0], B=数据[1] }; 返回query.ToList; } 公共类产品 { 公共字符串A{get;set;} 公共字符串B{get;set;} } },c#,csv,datagridview,C#,Csv,Datagridview,我是一个初学者,从上周开始在工作中使用C 将读取包含简单数字的.csv文件,但其中包含导致错误的空格 System.IndexOutOfRangeException 下面是LoadCSV方法的一个简化的非LINQ版本,它可以帮助您更好地在代码中理解您的场景。方法- 仅当行具有任何值时才创建产品 创建仅具有属性A的产品 仅当第二个值可用时,才设置属性B的值 公共列表LoadCSVstring csvFile { //创建一个空列表 var列表=新列表; //读所有的句子 var lines=Fil

我是一个初学者,从上周开始在工作中使用C

将读取包含简单数字的.csv文件,但其中包含导致错误的空格

System.IndexOutOfRangeException


下面是LoadCSV方法的一个简化的非LINQ版本,它可以帮助您更好地在代码中理解您的场景。方法-

仅当行具有任何值时才创建产品 创建仅具有属性A的产品 仅当第二个值可用时,才设置属性B的值 公共列表LoadCSVstring csvFile { //创建一个空列表 var列表=新列表; //读所有的句子 var lines=File.ReadAllLinescsvFile; //对每行进行一些处理 foreach var行中的行 { //仅当行不是空字符串时,才基于逗号拆分行 //如果行是空字符串,则跳过处理 var data=line.Split',',StringSplitOptions.RemoveEmptyEntries; 如果data.Length==0 持续 //我们跳过了空行,所以数据至少有一个元素 //我们可以安全地使用属性a的第一个元素创建产品 var product=新产品{A=数据[0]}; //如果数据有多个元素,那么我们有第二个元素 //我们可以安全地将第二个元素指定给属性B 如果数据长度>1 { product.B=数据[1]; } //将产品添加到列表中 列表。添加产品; } 退货清单; }
发布的代码可以抛出IndexOutOfRangeException的唯一位置是在…B=data[1]行上…这行代码假设数据中至少有两个2项。明智的做法是,在“尝试使用”之前检查集合中是否有足够的项目。该错误表示CSV文件中的某个地方有一行没有任何逗号。这一行将导致代码抛出您看到的异常。我建议您检查返回的内容…让data=line.Split','.csv包含空格会导致空格错误?真的吗还有:图片告诉了我们什么另外:代码不仅仅是未选中的,它还假设字符串字段中没有逗号。谢谢。我能够找出问题所在,问题是有一行只有一个单元格,而行中没有逗号。我会找到另一个代码并使用它。@TaW OP提到我是一个初学者,从上周开始使用C进行工作。