Я изучаю, как читать и писать во внешние текстовые файлы с помощью C# (да, это классная работа, теперь это невозможно), и я как бы ударил стену , Посмотрите, первая часть этого задания заключалась в создании программы, которая может записывать записи клиентов во внешний файл, после создания класса Customer с идентификационным номером, именем и полями текущего баланса, которые я сделал.Нужна помощь Вытащить данные из файла
Мое затруднение заключается в том, что теперь мне нужно создать программу для поиска файла, который я создал с помощью этого первого, и распечатать каждую строку на консоли с балансом, большим или равным минимальному балансу, предоставленному пользователем. Я рисую пробел о том, как это сделать на самом деле.
Это, насколько я получил:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using static System.Console;
using System.IO;
namespace FindCustomerRecords2
{
class Program
{
static void Main(string[] args)
{
//Intialize variables
double minBal;
string line;
//Prompt user to enter minimum balance and store in minBal
Write("Please enter a minimum balance to pull up\n" +
"all customers that owe at least that much.");
minBal = Convert.ToDouble(ReadLine());
//Open data stream to CustomerRecords.txt
StreamReader file = new StreamReader(@"H:\C#\Visual C# 2015\Ch. 14 - Files and Streams\CustomerRecords.txt");
//Loop through CustomerRecords.txt, find values
//greater than or euqal to minBal, and display
//each line with such a value
while((line = file.ReadLine()) != null)
{
}
}
}
}
Теперь я не ищу, чтобы кормить ответ, я просто действительно не знаю, что использовать для достижения того, что я имею попросили сделать. Любой, кто хочет помочь мне?
EDIT: В конце концов я узнал, что я делаю неправильно. Для будущей ссылки любого, у кого может быть такая же проблема в будущем: я получил ее для работы, используя Split(), чтобы назначить данные массиву, называемым полями, а затем назначил каждому положению полей поля переменные, называемые id, name, и баланс, и сравнили каждый баланс minBal в, если заявление так:
fields = recordIn.Split(DELIM);
id = Convert.ToInt32(fields[0]);
name = fields[1];
balance = Convert.ToDouble(fields[2]);
Спасибо всем, кто ответил.
Как выглядит файл? –
Когда вы отлаживаете это, каково значение 'line' в этом цикле? Он содержит значение, которое вы пытаетесь сравнить? – David
@Joe Healy Это простой текстовый файл CSV с некоторыми поддельными значениями в нем. 45454, Гленн Matthews, 54,87 10000, Джерри Райс, 150,45 58546, Klein Botteau, 45 Это все содержимое прямо там, насколько я добавил. Первое приложение принимает вход пользователя, использует его для создания объекта из класса Customer, который я создал, а затем передает значения из объекта в файл CustomerRecords.txt. –