Kann nicht implizit konvertiert Typ 'string' zu 'lange' mit einem anderen Problem?

Ich habe ein kleines problem, ich habe keine Ahnung, wie das zu lösen ist. Werde ich der, der; - e code aus der Klasse, so dass Sie sehen können, was Ihr tun:

{

class CompetitorDataFile
{
    //collection of DataFileRecords - people
    public List<DataFileRecord> DataFileRecords;
    public string FileName = "";

    //called when DataFile created
    public CompetitorDataFile(string FileName)
    {
        //creates the collection
        DataFileRecords = new List<DataFileRecord>();
        this.FileName = FileName;
    }

    //fill DataFileRecords with stuff from text file
    public void ReadDataFile()
    {
        foreach (string s in File.ReadAllLines(FileName))
        {
            if (s == "") continue;
            DataFileRecord dfr = new DataFileRecord();
            dfr.Name = s.Split(',')[0];
            dfr.CPSA = s.Split(',')[1];
            dfr.PostCode = s.Split(',')[2];
            dfr.Rank = s.Split(',')[3];
            dfr.Score1 = s.Split(',')[4]; //new for score system
            dfr.Score2 = s.Split(',')[5]; //new for score system 
            dfr.Score3 = s.Split(',')[6]; //new for score system 
            dfr.Score4 = s.Split(',')[7]; //new for score system 
            dfr.Score5 = s.Split(',')[8]; //new for score system 
            dfr.Score6 = s.Split(',')[9]; //new for score system 
            dfr.Score7 = s.Split(',')[10]; //new for score system 
            dfr.Score8 = s.Split(',')[11]; //new for score system
            dfr.TotalSingleScore = s.Split(',')[12]; //new for score system
            DataFileRecords.Add(dfr);
        }
    }

    public int FindByCPSA(string CPSA)
    {
        //set index to 0
        int index = 0;
        //go through each record looking for CPSA number match
        foreach (DataFileRecord dfr in DataFileRecords)
        {
            if (dfr.CPSA.ToLower() == CPSA.ToLower())
            {
                //if it's found return the current index
                return index;
            }
            //increase index and move to next record
            index++;
        }
        //not found returning -1
        return -1;
    }

    //save DataFile records to text file
    public void SaveDataFile()
    {
        //delete backup file if found
        if (File.Exists(FileName+".bck")) 
            File.Delete(FileName+".bck");
        //make backup of existing
        if (File.Exists(FileName))
            File.Move(FileName, FileName + ".bck");
        //create a temporary array of string
        List<string> stringy = new List<string>(DataFileRecords.Count);
        //go through each DataFile record and create a single string line
        foreach (DataFileRecord dfr in DataFileRecords)
            stringy.Add(dfr.SingleString);
        //saves all strings to file
        File.WriteAllLines(FileName, stringy.ToArray());
    }
}

//a single record - one person
public class DataFileRecord
{
    public string Name;
    public string CPSA;
    public string PostCode;
    public string Rank;
    public string Score1; //new for score system
    public string Score2; //new for score system
    public string Score3; //new for score system
    public string Score4; //new for score system
    public string Score5; //new for score system
    public string Score6; //new for score system
    public string Score7; //new for score system
    public string Score8; //new for score system
    public Int64 TotalSingleScore; //used to get total score for one user

    public string SingleString
    {
        get
        {
            return string.Format("{0},{1},{2},{3},{4},{5},{6},{7},{8},{9},{10},{11}", Name, CPSA, PostCode, Rank, Score1, Score2, Score3, Score4, Score5, Score6, Score7, Score8); //,{4} and , Score are new for score system
        }
    }

    public string PoshSingleString
    {
        get
        {
            return string.Format("{0,-20}|{1,-10}|{2,-9}|{3,-9}|{4,2}|{5,2}|{6,2}|{7,2}|{8,2}|{9,2}|{10,2}|{11,2}", Name, CPSA, PostCode, Rank, Score1, Score2, Score3, Score4, Score5, Score6, Score7, Score8);
            //return SingleString.Replace(",0", ""); //may be used to replace 0
            //return SingleString.Replace(",", ", ");
        }

Ich habe ein problem mit dieser Linie des Codes

dfr.TotalSingleScore = s.Split(',')[12];

TotalSingleScore ist die einzige int (alle anderen Zeichenketten sind) als Ergebnis bekomme ich diesen Fehler:
"Fehler 1 kann Nicht implizit konvertiert Typ 'string' zu 'lange'"

Wie gehe ich vor, dies zu lösen? Code ist C# - und software ist VS 2008 Pro

Dank

InformationsquelleAutor HadlowJ | 2011-01-05

Schreibe einen Kommentar