簡體   English   中英

將數字添加到字符串數組

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM