C# 从csv文件中获取数据,并将其放入数组中
忽略已评论的部分我可以控制这些部分。我遇到的问题是将csv文件中的数据导入地震数组。我得到语法错误,我知道为什么,这是因为数据类型不正确,但我真的不知道如何修复它。C# 从csv文件中获取数据,并将其放入数组中,c#,C#,忽略已评论的部分我可以控制这些部分。我遇到的问题是将csv文件中的数据导入地震数组。我得到语法错误,我知道为什么,这是因为数据类型不正确,但我真的不知道如何修复它。 另外,如果您注意到我正在尝试使用冒泡排序,并且由于double没有“compare”的定义,那么我应该使用什么来代替呢?如果您从CSV文件中读取数据,则可能必须从分割值中删除空白 尝试将.Trim()添加到列变量中 public class Earthquake { public double Magnitude { get
另外,如果您注意到我正在尝试使用冒泡排序,并且由于double没有“compare”的定义,那么我应该使用什么来代替呢?如果您从CSV文件中读取数据,则可能必须从分割值中删除空白 尝试将.Trim()添加到列变量中
public class Earthquake
{
public double Magnitude { get; set; }
public string Location { get; set; }
public double Latitude { get; set; }
public double Longitude { get; set; }
public double depth { get; set; }
public DateTime date { get; set; }
public string EventID { get; set; }
public string URL { get; set; }
public Earthquake()
: this(string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty)
{ }
public Earthquake(string magna, string locate, string lat, string longi, string dept, string dat, string Event, string website)
{
Magnitude = Convert.ToDouble(magna);
Location = locate;
Latitude = Convert.ToDouble(lat);
Longitude = Convert.ToDouble(longi);
depth = Convert.ToDouble(dept);
date = Convert.ToDateTime(dat);
EventID = Event;
URL = website;
}
}
public void GetData()
{
string[] text = File.ReadAllLines(@"Earthquakes.csv");
Earthquake[] data = new Earthquake[1];
foreach (string line in text)
{
string[] myColumns = line.Split(',');
Earthquake[] earth = new Earthquake[myColumns[0], myColumns[1], myColumns[2], myColumns[3], myColumns[4], myColumns[5], myColumns[6], myColumns[7]];
data[i] = earth[i];
i++;
}
}
如果您想排序YOR数组,请考虑使用Stask.LINQ
例如: 查看您发布的代码,GetData()将不起作用 尝试返回一个列表或可枚举列表var byMag = earthQuakes.OrderBy(e => e.Magnitude);
-1:你真的需要发布这么多代码吗?这和你的另一个有什么不同,ps我没有对你的问题进行投票,你有朋友这样做吗?有人让我标记为已回答并创建一个新的。我没有好友只发布相关代码,并发布您得到的准确错误消息等等什么?我已经知道如何分割数据,我只需要知道如何将其放入我的地震阵列中。现在,我得到了很多语法错误,因为它不是正确的变量类型,考虑这个“3, 4, 6”,如果你把“4”拆分,你就不能把“4”转换成int,因为数字没有白色空间。哦,我明白你的意思。谢谢@user1784655-您需要加载正确的数据类型。有数百个关于如何读取CSV文件的示例,我建议做一些研究,并发布更多相关代码。您甚至没有指明具体的错误、错误行以及调试步骤。变量“i”未声明,并且您尝试使用方括号创建新的地震对象地震[]地球=新地震[column[1],…]根本无法工作。你也在试图从地震中恢复地震
var byMag = earthQuakes.OrderBy(e => e.Magnitude);
public IEnumerable<Earthquake> GetData(string filename)
{
string[] text = File.ReadAllLines(filename);
foreach (string line in text)
{
string[] myColumns = line.Split(',');
yield return new Earthquake(myColumns[0].Trim(), myColumns[1].Trim(), myColumns[2].Trim(), myColumns[3].Trim(), myColumns[4].Trim(), myColumns[5].Trim(), myColumns[6].Trim(), myColumns[7].Trim());
}
}
var earthquakes = GetData(@"Earthquakes.csv");