我需要.net 相关的代码
时间: 2024-03-28 17:42:00 浏览: 17
好的,以下是一个使用C#读取CSV文件并将数据存储到对象中的示例代码,其中使用了 `Dictionary<string, string>` 来存储字段映射关系:
```csharp
using System;
using System.Collections.Generic;
using System.IO;
public class MyObject
{
public string Field1 { get; set; }
public string Field2 { get; set; }
public string Field3 { get; set; }
}
class Program
{
static void Main(string[] args)
{
var fieldMap = new Dictionary<string, string>
{
{ "csv_column_1", "Field1" },
{ "csv_column_2", "Field2" },
{ "csv_column_3", "Field3" },
};
using (var reader = new StreamReader("data.csv"))
{
var line = reader.ReadLine(); // 读取表头
var headers = line.Split(',');
while ((line = reader.ReadLine()) != null)
{
var values = line.Split(',');
var obj = new MyObject();
for (int i = 0; i < headers.Length; i++)
{
var header = headers[i];
if (fieldMap.ContainsKey(header))
{
var field = fieldMap[header];
var value = values[i];
typeof(MyObject).GetProperty(field).SetValue(obj, value);
}
}
// 对象处理逻辑
Console.WriteLine($"Field1: {obj.Field1}, Field2: {obj.Field2}, Field3: {obj.Field3}");
}
}
}
}
```
在上面的示例代码中,我们使用 `StreamReader` 对象来读取CSV文件,并将每一行数据按逗号分隔为一个字符串数组。然后,我们遍历字段映射关系,使用 `GetProperty` 和 `SetValue` 方法来设置对象的属性值。最后,我们可以对对象进行处理,完成具体的业务逻辑。