Writing many variables to a text file

I have this piece of code:

using (StreamWriter writer = new StreamWriter("C:\\Users\\HP8200\\Desktop\\teste.txt"))
{            
    string numcont = _transaction.PartyFederalTaxID;

    double numenc = _transaction.BillToPartyID;
    double numfatura = _transaction.BillToPartyID;
    string zona = _transaction.BillToPartyCountryID;
    DateTime data = _transaction.CreateDate;
    string ean = _transaction.ATDocCodeId;
    double iva = _transaction.TotalTaxAmount;
    double precoantesdisc = _transaction.TotalLineItemDiscountAmount;
    double preconet = _transaction.TotalNetAmount;

    writer.WriteLine(numcont,";", numenc,";", numfatura,";", data,";", zona, Environment.NewLine , 
        ean,";", iva,";", precoantesdisc,";", preconet);
}

MessageBox.Show("gravou");

And it should save all these variables in a text file that I say, but it only writes the first variable (numcont). What do I need to do, it writes all the variables that I need in this text file? Feel free to request more code.

+6
source share
5 answers

You need to format the line:

writer.WriteLine(string.Format("{0};{1};{2};{3};{4}{5}{6};{7};{8};{9}",numcont, numenc, numfatura, data.ToString(), zona, Environment.NewLine, ean, iva, precoantesdisc, preconet));

If you can use C # 6 syntax:

writer.WriteLine($"{numcont};{numenc};{numfatura};{data.ToString()};{zona}{Environment.NewLine}{ean};{iva};{precoantesdisc};{preconet}");

EDIT

Use only day, month and year:

writer.WriteLine($"{numcont};{numenc};{numfatura};{data.ToString("yyyyMMdd")};{zona}{Environment.NewLine}{ean};{iva};{precoantesdisc};{preconet}");

The pattern "yyyMMdd" can be arranged as you want. For example, "dd.MM.yyyy"

+6
source

just follow these steps

,

var line = numcont +";"+ numenc+";"+ numfatura+";"+ data+";"+ zona +Environment.NewLine + ean+";"+ iva+";"+ precoantesdisc+";"+ preconet; 



writer.WriteLine(line);

,

var  line =string.Format("{0};{1};{2};{3};{4}\n{5};{6};{7};{8}",numcont, numenc, numfatura, data.ToString(), zona, ean, iva, precoantesdisc, preconet);
+5

File.WriteAllText() , :

public static void Main()
{
    string numcont = "abc";

    double numenc = 1.1;
    double numfatura = 12.2;
    string zona = "def";
    DateTime data = new DateTime();
    string ean = "hij";
    double iva = 23.4;
    double precoantesdisc = 34.5;
    double preconet = 45.6;
    var info =  numcont + ";" + numenc + ";" + numfatura + ";" + data + ";"
                + zona + Environment.NewLine + ean +";" + iva + ";" + 
                precoantesdisc +";" + preconet;
    File.WriteAllText("abc.txt",info);

    Console.Write(info);
}
+1

StreamWriter.WriteLine, , , .

:

public virtual void WriteLine(<br> string format,<br> params object[] arg<br> )

arg

, ....
format , , , . .

, .

ToString.

public override string ToString()
{
    return $"{PartyFederalTaxID};{BillToPartyID};{CreateDate};{BillToPartyCountryID}" + Environment.NewLine + 
    $"{ATDocCodeId};{TotalTaxAmount}{TotalLineItemDiscountAmount}{TotalNetAmount}"
}

, WriteLine. ToString :

writer.WriteLine(_transaction);
+1

You can also use string.Concat () as it will concatenate all the values ​​in the string

writer.WriteLine(string.Concat(numcont,";", numenc,";", numfatura,";", data,";", zona, Environment.NewLine , 
    ean,";", iva,";", precoantesdisc,";", preconet));

or

StreamWriter.WriteLine(string format, params object[] arg) 

overload method as below

writer.WriteLine("{0};{1};{2};{3};{4};{5};{6}:{7};{8};{9}", numcont, numenc, numfatura, data, zona, Environment.NewLine,
                ean, iva, precoantesdisc, preconet);
0
source

All Articles