On m'a donné une tâche simple, que je n'arrive pas à comprendre comment l'accomplir.Analyse d'un fichier avec des chaînes et des entiers C#
J'ai reçu un fichier texte qui contient à la fois les noms et le taux de rémunération/heures des employés. Le format est le suivant:
Mary Jones
12.50 30
Bill Smith
10.00 40
Sam Brown
9.50 40
Ma tâche est d'écrire un programme qui utilise StreamReader pour extraire les données à partir d'un fichier texte, puis imprimer le nom des employés, et calculer la rémunération totale en multipliant le taux et les heures.
Je sais comment diviser la ligne avec une méthode .Split, mais je n'arrive pas à comprendre comment séparer les noms des doubles/ints. Mes méthodes d'analyse reviennent toujours avec une erreur de format parce qu'elle lit les chaînes en premier. Je suis complètement coincé.
Voici mon code pour l'instant, toute aide ou conseil serait apprécié.
using System;
using System.IO;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace lab21
{
class Program
{
static void Main(string[] args)
{
StreamReader myfile = new StreamReader("data.txt");
string fromFile;
do
{
fromFile = myfile.ReadLine();
if (fromFile != null)
{
string[] payInfo = fromFile.Split();
double wage = double.Parse(payInfo[0]);
int hours = int.Parse(payInfo[1]);
Console.WriteLine(fromFile);
Console.WriteLine(wage * hours);
}
} while (fromFile != null);
}
}
}
Pourquoi divisez-vous une ligne avec juste des noms, et appelez-la 'payInfo'? C'est trompeur. Je suggérerais également que séparer la "lecture" de "parsing" rend le code plus flexible et plus facile à tester. –