因此,我必须在本作业中使用一个结构体,并且需要对一个名为 Country_databas.csv 的 CSV 文件进行排序。到目前为止,我已经制作了该结构体和一个列表,用于处理 CSV 上一行的每个分割。但是,我正在努力将 CSV 的每个拆分添加到其各自的列表中,以便我可以对它们进行排序。
编辑:抱歉,我刚刚意识到我错过了 CSV 在线的最后一个分割,即第一行的“Kabul”。
我的 CSV 的前 4 行:
1. Afghanistan,Asia,652230,25500100,20364000000,Kabul
2. Albania,Europe,28748,2821977,12044000000,Tirana
3. Algeria,Africa,2381741,38700000,207021000000,Algiers
4. Andorra,Europe,468,76098,3222000000,Andorra la Vella
代码:
namespace CSVFileUtility
{
public struct CSVline
{
public List<string> Country;
public List<string> Continent;
public List<int> popualtion;
public List<int> landmass;
public List<long> Bignum;
public CSVline(List<string> Country, List<string> Continent, List<int> popualtion, List<int> landmass, List<long> Bignum)
{
this.Country = Country;
this.Continent = Continent;
this.popualtion = popualtion;
this.landmass = landmass;
this.Bignum = Bignum;
}
}
class Program
{
static void Main(string[] args)
{
string line;
CSVline csv = new CSVline();
using ( StreamReader sr = new StreamReader(@"filepath of csv") )
{
try
{
while ( ( line = sr.ReadLine() ) != null )
{
var values = line.Split(',');
csv.Country.Add(values[1]);
}
}
catch ( Exception ex )
{
Console.WriteLine("The file could not be read {0}", ex);
}
}
}
}
}
这会导致错误“无法读取文件 System.NullReferenceException:对象引用未设置到对象的实例”,该错误来自行“csv.Country.Add(values[1]);”
慕侠2389804