【发布时间】:2020-05-23 19:18:45
【问题描述】:
我正在尝试使用此代码创建一个列表。它在 NewCrime Convert 步骤失败。不知道如何使用流阅读器。这是我的第一次,我通常使用 SQL,所以我尝试做与在这里阅读 SQL 相同的事情。
列出MasterCrimeList;
public List<Crime.Crime> GetList()
{
MasterCrimeList = new List<Crime.Crime>();
try
{
string path = @"F:\\FanshaweCollegeClasses\\Winter2020\\CLAYS_FINAL_EXAM_2020\\VANHEESfinalEXAM\\SacramentocrimeJanuary2006.csv";
if (File.Exists(path))
{
// Open the file to read from.
using (StreamReader sr = File.OpenText(path))
{
string s;
while ((s = sr.ReadLine()) != null)
{
Crime.Crime NewCrime = new Crime.Crime(Convert.ToString(s[0]),//CrimeDateTime
Convert.ToString(s[1]),//CrimeAddress
Convert.ToInt32(Convert.ToString(s[2])),//CrimeDistrict
Convert.ToString(s[3]),//CrimeBeat
Convert.ToInt32(Convert.ToString(s[4])),//CrimeGrid
Convert.ToString(s[5]),//CrimeDescription
Convert.ToInt32(Convert.ToString(s[6])),//ncicCode
decimal.Parse(Convert.ToString(s[7])),//Latitude DECIMAL
decimal.Parse(Convert.ToString(s[8])));//Longitude DECIMAL
MasterCrimeList.Add(NewCrime);
}
}
}
}
【问题讨论】:
-
请检查您应该如何使用docs.microsoft.com/en-us/dotnet/api/…
-
您正在将字符从 s 变量传递到您的字段。可能您需要使用某种分隔符拆分使用 ReadLine 加载的字符串。 String.Split 是这个任务的工具
-
您遇到的错误是什么?
ReadLine将行作为字符串返回,您不需要每次都将其转换为字符串。此外,s[0]和其他人只会给你一个字符。如果是csv文件,则需要从字符串中读取每个以逗号分隔的值。
标签: c# readline streamreader