[英]add a Number to an array of strings
我創建了這個Object Player(int number, string name, string guild, int hp, int mana)
然后從CSV文件中讀取了Player列表。
public static List<Player> GetPlayerFromCSV(string file)
{
List<Player> result = new List<Player>();
using (StreamReader sr = new StreamReader(file))
{
string line = sr.ReadLine();
if (line != null) line = sr.ReadLine();
while (line != null)
{
Player pl = AddPlayer(line);
if (pl != null) result.Add(pl);
line = sr.ReadLine();
}
}
return result;
}
private static Player AddPlayer(string line)
{
line = line.TrimEnd(new char[] { ';' });
string[] parts = line.Split(new char[] { ';' });
if (parts.Length != 5) return null;
Player pl = new Player(parts[0], parts[1], parts[2], parts[3], parts[4]);
return pl;
}
public override string ToString()
{
return Number + " - " + Name;
}
這給我一個錯誤,因為0、3和4部分應該是字符串,因為它是字符串數組。 我已經嘗試過parts[0].ToString()
等,但這沒有幫助
您需要解析字符串:
Player pl = new Player(int.Parse(parts[0]),
parts[1],
parts[2],
int.Parse(parts[3]),
int.Parse(parts[4])
);
但這是最低限度的要求-在Player
構造之前 ,您還可以將解析移動到單獨的語句, 然后再添加錯誤檢查/驗證/等。
到目前為止,如果部分0、3或4是不可解析的,則您將得到一個模糊的運行時異常,沒有上下文確定哪個值會導致錯誤。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.