В настоящее время я пытаюсь ввести данные в текстовый файл, используя Stream Writer и Stream Reader для вывода информации, в данном случае - Имя, Фамилия & Возраст. Затем с информацией я желая вывести это в таблицу, перечисленных ниже:Ошибки при обработке файлов
First Name Surname Age
Etc Etc Etc
однако у меня возникают некоторые проблемы, работая его !!
См. Мой код ниже, может ли кто-нибудь объяснить, почему я получаю следующие сообщения об ошибках?
Ошибка 1 Использование нераспределенного локального переменной 'FirstName'
Error 2 Использования нераспределенного локальных переменной 'LastName'
Ошибка 3 Использования нераспределенного локального переменный 'возраст'
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
namespace ConsoleApplication1
{// Start namespace
class Program
{// Start Class
static void Main(string[] args)
{// Start Main
// Declaration Strings
String firstname; // Declares Name as a String
String lastname; // Declares Surname as a String
String age; // Declares Age as a String
int Counter; // Declares Counter as an Integer
FileInfo fleNames = new FileInfo("Names.txt"); // Creates fleNames as an Object, using Names.txt as the file name
StreamWriter swrNames = fleNames.CreateText(); // Informs fleName to Create Text
for (Counter = 0; Counter < 1; Counter++)
{
Console.Write("Enter Your First Name:"); // Writes users first name using Stream Writer Command
firstname = Console.ReadLine();
swrNames.WriteLine(firstname); // This dictates where the first name will be stored in the text file
swrNames.Flush();
Console.Write("Enter Your Surname"); // Writes users first name using Stream Writer Command
lastname = Console.ReadLine();
swrNames.WriteLine(lastname); // This dictates where the last name will be stored in the text file
swrNames.Flush();
Console.WriteLine("Enter Your Age"); // Writes users first name using Stream Writer Command
age = Console.ReadLine();
swrNames.WriteLine(age); // This dictates where the age will be stored in the text file
swrNames.Flush();
Console.Clear();
}
swrNames.Close();
String NamesTable;
StreamReader swreNames = File.OpenText("Names.txt");
while ((NamesTable = swreNames.ReadLine()) != null)
{
Console.WriteLine(NamesTable);
}
swreNames.Close();
Console.ReadLine();
FileInfo fleNamesTwo = new FileInfo("NamesTwo.txt");
StreamWriter swrNamesTwo = null;
// ------------ CHECK APPEND TO A FILE --------------
if (fleNames.Exists == true)
{
swrNames = fleNames.AppendText();
}
else // -- Create a new text file
{ // Declare Strings
String Name; // Name
String Surnames; // Surname
String Ages; // Age
swrNamesTwo = fleNamesTwo.CreateText();
Console.Write("Enter Your First Name");
Name = Console.ReadLine();
swrNamesTwo.WriteLine(Name);
swrNamesTwo.Flush();
Console.Write("Enter Your Surname");
Surnames = Console.ReadLine();
swrNamesTwo.WriteLine(Surnames);
swrNamesTwo.Flush();
Console.WriteLine("Enter Your Age");
Ages = Console.ReadLine();
swrNamesTwo.WriteLine(Ages);
swrNamesTwo.Flush();
Console.Clear();
}
Console.Clear();
Console.SetCursorPosition(15, 2);
Console.Write("--- Names Table ---");
Console.SetCursorPosition(10, 4);
Console.Write("First Name");
Console.SetCursorPosition(28, 4);
Console.Write("Surname");
Console.SetCursorPosition(48, 4);
Console.Write("Age");
Console.ReadLine();
do
{
//Read a File a Streamreader Command
swrNames.WriteLine(firstname); // Reads from first name from file Names.txt
Console.SetCursorPosition(10, Counter + 6); // Aligns first name within table settings
swrNames.WriteLine(lastname); // Reads from last name from file Names.txt
Console.SetCursorPosition(28, Counter + 6);
swrNames.WriteLine(age); // Reads from age from file Names.txt
Console.SetCursorPosition(48, Counter + 6);
Console.WriteLine("{0} {1} is {2} years old", firstname, lastname, age);
Console.Clear(); //Clears Screen
Console.ReadLine();
} while ((firstname = swreNames.ReadLine()) != null); //Writes out the input from the text file
}
}
}
Хорошо, что вы, полезные люди, заставили меня пройти мимо ошибок! Спасибо :)
Тем не менее, (всегда есть !!!) Я все еще не могу написать сценаристу/читателю потока, чтобы отобразить результаты в таблице. Я получаю таблицу, которая появляется после результатов, но таблица пуста, за исключением заголовков таблиц в их аккуратных заполнителях! ANYONE ..... :) :) :)
Инициализировать переменные, чтобы обнулить или String.Empty – NoviceProgrammer
вы думали о 'Initializing' строковых переменных =' string.Empty' 'строка Firstname = string.Empty; // Объявляет имя как строку ' ' string lastname = string.empty; // Объявляет фамилию как строку ' ' string age = string.empty; // De' – MethodMan
Попытка понять, что это делает ... ему нужно несколько исправлений. Зачем нужен цикл: 'for (Counter = 0; Counter <1; Counter ++)'? Он будет выполняться только один раз. –