我有這個代碼:類:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace CTesteM7
{
internal class Borboletas
{
public string nomeAmigo { set; get; }
public string nomeEspecie { set; get; }
public int envergadura { set; get; }
public int b { set; get; }
public string classificacao { set; get; }
public int quantidade { set; get; }
public string pathInput { set; get; }
public string pathOutput { set; get; }
}
}
主要的:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
namespace CTesteM7
{
internal class Program
{
static void Main(string[] args)
{
//Lista / Classe
List<Borboletas> borboletas = new List<Borboletas>();
Borboletas dados = new Borboletas();
//Pedir ao utilizador o ficheiro de input
Console.Write("Nome do ficheiro de input: ");
dados.pathInput = Console.ReadLine();
//Verificar se o ficheiro existe
if (File.Exists(dados.pathInput))
{
//Ler o ficheiro
StreamReader srf = new StreamReader(dados.pathInput);
while (!srf.EndOfStream)
{
// Buscar a linha do numero ou seja q n contem ;
var linha = srf.ReadLine();
if (!linha.Contains(';'))
{
dados.b = int.Parse(linha);
}
else
{
string[] strArray;
strArray = linha.Split(';');
dados.nomeEspecie = strArray[1];
dados.envergadura = Convert.ToInt32(strArray[2]);
borboletas.Add(dados);
//Ficheiro de output
dados.pathOutput = @"Output.txt";
StreamWriter swo = new StreamWriter(dados.pathOutput, append: true);
swo.WriteLine(dados.b);
//Verifica??es da classifica??o das borboletas e escrever para o ficheiro
if (dados.envergadura >= 0 && dados.envergadura <= 50)
{
dados.classificacao = "Pequena";
swo.WriteLine(dados.nomeEspecie ":" dados.classificacao);
}
else if (dados.envergadura >= 51 && dados.envergadura < 70)
{
dados.classificacao = "Grande";
swo.WriteLine(dados.nomeEspecie ":" dados.classificacao);
}
else if (dados.envergadura >= 70)
{
dados.classificacao = "Gigante";
swo.Write(dados.nomeEspecie ":" dados.classificacao);
}
else
{
Console.WriteLine("Erro");
}
swo.Close();
}
}
//Confirma??o
Console.WriteLine("\nOpera??o realizada com sucesso");
Console.ReadKey();
//Fechar os ficheiros
srf.Close();
//Adicionar os dados na lista
borboletas.Add(dados);
}
else
{
//Caso o ficheiro n?o exista mostrar erro
Console.WriteLine("O ficheiro pedido n?o existe, insira um nome válido\n");
}
}
}
}
我想將資料從檔案列印到輸出檔案,但變數 dados.b(它的數字 3)列印 3 次到輸出檔案,每次我運行程式時它都會添加新文本,但我不希望文本重復它self,輸出檔案影像
有誰知道是什么問題?謝謝
uj5u.com熱心網友回復:
swo.WriteLine(dados.b);
它在while回圈中,因此您將執行3次,您可以添加一個帶有計數的標志以僅執行一次或將其從while回圈中取出!
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/393809.html
