Console.WriteLine Method

Definition

Writes the specified data, followed by the current line terminator, to the standard output stream.

Overloads

WriteLine(String, Object, Object)

Writes the text representation of the specified objects, followed by the current line terminator, to the standard output stream using the specified format information.

WriteLine(String)

Writes the specified string value, followed by the current line terminator, to the standard output stream.

WriteLine(Char[], Int32, Int32)

Writes the specified subarray of Unicode characters, followed by the current line terminator, to the standard output stream.

WriteLine(String, Object[])

Writes the text representation of the specified array of objects, followed by the current line terminator, to the standard output stream using the specified format information.

WriteLine(String, Object)

Writes the text representation of the specified object, followed by the current line terminator, to the standard output stream using the specified format information.

WriteLine(UInt64)

Writes the text representation of the specified 64-bit unsigned integer value, followed by the current line terminator, to the standard output stream.

WriteLine(UInt32)

Writes the text representation of the specified 32-bit unsigned integer value, followed by the current line terminator, to the standard output stream.

WriteLine(Single)

Writes the text representation of the specified single-precision floating-point value, followed by the current line terminator, to the standard output stream.

WriteLine(Decimal)

Writes the text representation of the specified Decimal value, followed by the current line terminator, to the standard output stream.

WriteLine(Int64)

Writes the text representation of the specified 64-bit signed integer value, followed by the current line terminator, to the standard output stream.

WriteLine(Int32)

Writes the text representation of the specified 32-bit signed integer value, followed by the current line terminator, to the standard output stream.

WriteLine(Double)

Writes the text representation of the specified double-precision floating-point value, followed by the current line terminator, to the standard output stream.

WriteLine(Char[])

Writes the specified array of Unicode characters, followed by the current line terminator, to the standard output stream.

WriteLine(Char)

Writes the specified Unicode character, followed by the current line terminator, value to the standard output stream.

WriteLine(Boolean)

Writes the text representation of the specified Boolean value, followed by the current line terminator, to the standard output stream.

WriteLine()

Writes the current line terminator to the standard output stream.

WriteLine(String, Object, Object, Object)

Writes the text representation of the specified objects, followed by the current line terminator, to the standard output stream using the specified format information.

WriteLine(Object)

Writes the text representation of the specified object, followed by the current line terminator, to the standard output stream.

WriteLine(String, Object, Object, Object, Object)

Writes the text representation of the specified objects and variable-length parameter list, followed by the current line terminator, to the standard output stream using the specified format information.

Remarks

The default line terminator is a string whose value is a carriage return followed by a line feed ("\r\n" in C#, or vbCrLf in Visual Basic). You can change the line terminator by setting the TextWriter.NewLine property of the Out property to another string.

WriteLine(String, Object, Object)

Writes the text representation of the specified objects, followed by the current line terminator, to the standard output stream using the specified format information.

public:
 static void WriteLine(System::String ^ format, System::Object ^ arg0, System::Object ^ arg1);
public static void WriteLine (string format, object? arg0, object? arg1);
public static void WriteLine (string format, object arg0, object arg1);
static member WriteLine : string * obj * obj -> unit
Public Shared Sub WriteLine (format As String, arg0 As Object, arg1 As Object)

Parameters

format
String

A composite format string.

arg0
Object

The first object to write using format.

arg1
Object

The second object to write using format.

Exceptions

An I/O error occurred.

format is null.

The format specification in format is invalid.

Examples

The following example demonstrates the standard formatting specifiers for numbers, dates, and enumerations.

// This code example demonstrates the Console.WriteLine() method.
// Formatting for this example uses the "en-US" culture.

using namespace System;

public enum class Color {Yellow = 1, Blue, Green};

int main() 
{
    DateTime thisDate = DateTime::Now;
    Console::Clear();

    // Format a negative integer or floating-point number in various ways.
    Console::WriteLine("Standard Numeric Format Specifiers");
    Console::WriteLine(
        "(C) Currency: . . . . . . . . {0:C}\n" +
        "(D) Decimal:. . . . . . . . . {0:D}\n" +
        "(E) Scientific: . . . . . . . {1:E}\n" +
        "(F) Fixed point:. . . . . . . {1:F}\n" +
        "(G) General:. . . . . . . . . {0:G}\n" +
        "    (default):. . . . . . . . {0} (default = 'G')\n" +
        "(N) Number: . . . . . . . . . {0:N}\n" +
        "(P) Percent:. . . . . . . . . {1:P}\n" +
        "(R) Round-trip: . . . . . . . {1:R}\n" +
        "(X) Hexadecimal:. . . . . . . {0:X}\n",
        -123, -123.45f); 

    // Format the current date in various ways.
    Console::WriteLine("Standard DateTime Format Specifiers");
    Console::WriteLine(
        "(d) Short date: . . . . . . . {0:d}\n" +
        "(D) Long date:. . . . . . . . {0:D}\n" +
        "(t) Short time: . . . . . . . {0:t}\n" +
        "(T) Long time:. . . . . . . . {0:T}\n" +
        "(f) Full date/short time: . . {0:f}\n" +
        "(F) Full date/long time:. . . {0:F}\n" +
        "(g) General date/short time:. {0:g}\n" +
        "(G) General date/long time: . {0:G}\n" +
        "    (default):. . . . . . . . {0} (default = 'G')\n" +
        "(M) Month:. . . . . . . . . . {0:M}\n" +
        "(R) RFC1123:. . . . . . . . . {0:R}\n" +
        "(s) Sortable: . . . . . . . . {0:s}\n" +
        "(u) Universal sortable: . . . {0:u} (invariant)\n" +
        "(U) Universal full date/time: {0:U}\n" +
        "(Y) Year: . . . . . . . . . . {0:Y}\n", 
        thisDate);

    // Format a Color enumeration value in various ways.
    Console::WriteLine("Standard Enumeration Format Specifiers");
    Console::WriteLine(
        "(G) General:. . . . . . . . . {0:G}\n" +
        "    (default):. . . . . . . . {0} (default = 'G')\n" +
        "(F) Flags:. . . . . . . . . . {0:F} (flags or integer)\n" +
        "(D) Decimal number: . . . . . {0:D}\n" +
        "(X) Hexadecimal:. . . . . . . {0:X}\n", 
        Color::Green);       

};


/*
This code example produces the following results:

Standard Numeric Format Specifiers
(C) Currency: . . . . . . . . ($123.00)
(D) Decimal:. . . . . . . . . -123
(E) Scientific: . . . . . . . -1.234500E+002
(F) Fixed point:. . . . . . . -123.45
(G) General:. . . . . . . . . -123
(default):. . . . . . . . -123 (default = 'G')
(N) Number: . . . . . . . . . -123.00
(P) Percent:. . . . . . . . . -12,345.00 %
(R) Round-trip: . . . . . . . -123.45
(X) Hexadecimal:. . . . . . . FFFFFF85

Standard DateTime Format Specifiers
(d) Short date: . . . . . . . 6/26/2004
(D) Long date:. . . . . . . . Saturday, June 26, 2004
(t) Short time: . . . . . . . 8:11 PM
(T) Long time:. . . . . . . . 8:11:04 PM
(f) Full date/short time: . . Saturday, June 26, 2004 8:11 PM
(F) Full date/long time:. . . Saturday, June 26, 2004 8:11:04 PM
(g) General date/short time:. 6/26/2004 8:11 PM
(G) General date/long time: . 6/26/2004 8:11:04 PM
(default):. . . . . . . . 6/26/2004 8:11:04 PM (default = 'G')
(M) Month:. . . . . . . . . . June 26
(R) RFC1123:. . . . . . . . . Sat, 26 Jun 2004 20:11:04 GMT
(s) Sortable: . . . . . . . . 2004-06-26T20:11:04
(u) Universal sortable: . . . 2004-06-26 20:11:04Z (invariant)
(U) Universal full date/time: Sunday, June 27, 2004 3:11:04 AM
(Y) Year: . . . . . . . . . . June, 2004

Standard Enumeration Format Specifiers
(G) General:. . . . . . . . . Green
(default):. . . . . . . . Green (default = 'G')
(F) Flags:. . . . . . . . . . Green (flags or integer)
(D) Decimal number: . . . . . 3
(X) Hexadecimal:. . . . . . . 00000003

*/
// This code example demonstrates the Console.WriteLine() method.
// Formatting for this example uses the "en-US" culture.

using System;
class Sample
{
    enum Color {Yellow = 1, Blue, Green};
    static DateTime thisDate = DateTime.Now;

    public static void Main()
    {
        Console.Clear();

        // Format a negative integer or floating-point number in various ways.
        Console.WriteLine("Standard Numeric Format Specifiers");
        Console.WriteLine(
            "(C) Currency: . . . . . . . . {0:C}\n" +
            "(D) Decimal:. . . . . . . . . {0:D}\n" +
            "(E) Scientific: . . . . . . . {1:E}\n" +
            "(F) Fixed point:. . . . . . . {1:F}\n" +
            "(G) General:. . . . . . . . . {0:G}\n" +
            "    (default):. . . . . . . . {0} (default = 'G')\n" +
            "(N) Number: . . . . . . . . . {0:N}\n" +
            "(P) Percent:. . . . . . . . . {1:P}\n" +
            "(R) Round-trip: . . . . . . . {1:R}\n" +
            "(X) Hexadecimal:. . . . . . . {0:X}\n",
            -123, -123.45f);

        // Format the current date in various ways.
        Console.WriteLine("Standard DateTime Format Specifiers");
        Console.WriteLine(
            "(d) Short date: . . . . . . . {0:d}\n" +
            "(D) Long date:. . . . . . . . {0:D}\n" +
            "(t) Short time: . . . . . . . {0:t}\n" +
            "(T) Long time:. . . . . . . . {0:T}\n" +
            "(f) Full date/short time: . . {0:f}\n" +
            "(F) Full date/long time:. . . {0:F}\n" +
            "(g) General date/short time:. {0:g}\n" +
            "(G) General date/long time: . {0:G}\n" +
            "    (default):. . . . . . . . {0} (default = 'G')\n" +
            "(M) Month:. . . . . . . . . . {0:M}\n" +
            "(R) RFC1123:. . . . . . . . . {0:R}\n" +
            "(s) Sortable: . . . . . . . . {0:s}\n" +
            "(u) Universal sortable: . . . {0:u} (invariant)\n" +
            "(U) Universal full date/time: {0:U}\n" +
            "(Y) Year: . . . . . . . . . . {0:Y}\n",
            thisDate);

        // Format a Color enumeration value in various ways.
        Console.WriteLine("Standard Enumeration Format Specifiers");
        Console.WriteLine(
            "(G) General:. . . . . . . . . {0:G}\n" +
            "    (default):. . . . . . . . {0} (default = 'G')\n" +
            "(F) Flags:. . . . . . . . . . {0:F} (flags or integer)\n" +
            "(D) Decimal number: . . . . . {0:D}\n" +
            "(X) Hexadecimal:. . . . . . . {0:X}\n",
            Color.Green);
    }
}
/*
This code example produces the following results:

Standard Numeric Format Specifiers
(C) Currency: . . . . . . . . ($123.00)
(D) Decimal:. . . . . . . . . -123
(E) Scientific: . . . . . . . -1.234500E+002
(F) Fixed point:. . . . . . . -123.45
(G) General:. . . . . . . . . -123
    (default):. . . . . . . . -123 (default = 'G')
(N) Number: . . . . . . . . . -123.00
(P) Percent:. . . . . . . . . -12,345.00 %
(R) Round-trip: . . . . . . . -123.45
(X) Hexadecimal:. . . . . . . FFFFFF85

Standard DateTime Format Specifiers
(d) Short date: . . . . . . . 6/26/2004
(D) Long date:. . . . . . . . Saturday, June 26, 2004
(t) Short time: . . . . . . . 8:11 PM
(T) Long time:. . . . . . . . 8:11:04 PM
(f) Full date/short time: . . Saturday, June 26, 2004 8:11 PM
(F) Full date/long time:. . . Saturday, June 26, 2004 8:11:04 PM
(g) General date/short time:. 6/26/2004 8:11 PM
(G) General date/long time: . 6/26/2004 8:11:04 PM
    (default):. . . . . . . . 6/26/2004 8:11:04 PM (default = 'G')
(M) Month:. . . . . . . . . . June 26
(R) RFC1123:. . . . . . . . . Sat, 26 Jun 2004 20:11:04 GMT
(s) Sortable: . . . . . . . . 2004-06-26T20:11:04
(u) Universal sortable: . . . 2004-06-26 20:11:04Z (invariant)
(U) Universal full date/time: Sunday, June 27, 2004 3:11:04 AM
(Y) Year: . . . . . . . . . . June, 2004

Standard Enumeration Format Specifiers
(G) General:. . . . . . . . . Green
    (default):. . . . . . . . Green (default = 'G')
(F) Flags:. . . . . . . . . . Green (flags or integer)
(D) Decimal number: . . . . . 3
(X) Hexadecimal:. . . . . . . 00000003

*/
// This code example demonstrates the Console.WriteLine() method.
// Formatting for this example uses the "en-US" culture.

open System

type Color = 
    | Yellow = 1
    | Blue = 2
    | Green = 3

let thisDate = DateTime.Now

Console.Clear()

// Format a negative integer or floating-point number in various ways.
Console.WriteLine "Standard Numeric Format Specifiers"
Console.WriteLine(
    "(C) Currency: . . . . . . . . {0:C}\n" +
    "(D) Decimal:. . . . . . . . . {0:D}\n" +
    "(E) Scientific: . . . . . . . {1:E}\n" +
    "(F) Fixed point:. . . . . . . {1:F}\n" +
    "(G) General:. . . . . . . . . {0:G}\n" +
    "    (default):. . . . . . . . {0} (default = 'G')\n" +
    "(N) Number: . . . . . . . . . {0:N}\n" +
    "(P) Percent:. . . . . . . . . {1:P}\n" +
    "(R) Round-trip: . . . . . . . {1:R}\n" +
    "(X) Hexadecimal:. . . . . . . {0:X}\n",
    -123, -123.45f)

// Format the current date in various ways.
Console.WriteLine "Standard DateTime Format Specifiers"
Console.WriteLine(
    "(d) Short date: . . . . . . . {0:d}\n" +
    "(D) Long date:. . . . . . . . {0:D}\n" +
    "(t) Short time: . . . . . . . {0:t}\n" +
    "(T) Long time:. . . . . . . . {0:T}\n" +
    "(f) Full date/short time: . . {0:f}\n" +
    "(F) Full date/long time:. . . {0:F}\n" +
    "(g) General date/short time:. {0:g}\n" +
    "(G) General date/long time: . {0:G}\n" +
    "    (default):. . . . . . . . {0} (default = 'G')\n" +
    "(M) Month:. . . . . . . . . . {0:M}\n" +
    "(R) RFC1123:. . . . . . . . . {0:R}\n" +
    "(s) Sortable: . . . . . . . . {0:s}\n" +
    "(u) Universal sortable: . . . {0:u} (invariant)\n" +
    "(U) Universal full date/time: {0:U}\n" +
    "(Y) Year: . . . . . . . . . . {0:Y}\n",
    thisDate)

// Format a Color enumeration value in various ways.
Console.WriteLine "Standard Enumeration Format Specifiers"
Console.WriteLine(
    "(G) General:. . . . . . . . . {0:G}\n" +
    "    (default):. . . . . . . . {0} (default = 'G')\n" +
    "(F) Flags:. . . . . . . . . . {0:F} (flags or integer)\n" +
    "(D) Decimal number: . . . . . {0:D}\n" +
    "(X) Hexadecimal:. . . . . . . {0:X}\n",
    Color.Green)


// This code example produces the following results:
//
// Standard Numeric Format Specifiers
// (C) Currency: . . . . . . . . ($123.00)
// (D) Decimal:. . . . . . . . . -123
// (E) Scientific: . . . . . . . -1.234500E+002
// (F) Fixed point:. . . . . . . -123.45
// (G) General:. . . . . . . . . -123
//     (default):. . . . . . . . -123 (default = 'G')
// (N) Number: . . . . . . . . . -123.00
// (P) Percent:. . . . . . . . . -12,345.00 %
// (R) Round-trip: . . . . . . . -123.45
// (X) Hexadecimal:. . . . . . . FFFFFF85
//
// Standard DateTime Format Specifiers
// (d) Short date: . . . . . . . 6/26/2004
// (D) Long date:. . . . . . . . Saturday, June 26, 2004
// (t) Short time: . . . . . . . 8:11 PM
// (T) Long time:. . . . . . . . 8:11:04 PM
// (f) Full date/short time: . . Saturday, June 26, 2004 8:11 PM
// (F) Full date/long time:. . . Saturday, June 26, 2004 8:11:04 PM
// (g) General date/short time:. 6/26/2004 8:11 PM
// (G) General date/long time: . 6/26/2004 8:11:04 PM
//     (default):. . . . . . . . 6/26/2004 8:11:04 PM (default = 'G')
// (M) Month:. . . . . . . . . . June 26
// (R) RFC1123:. . . . . . . . . Sat, 26 Jun 2004 20:11:04 GMT
// (s) Sortable: . . . . . . . . 2004-06-26T20:11:04
// (u) Universal sortable: . . . 2004-06-26 20:11:04Z (invariant)
// (U) Universal full date/time: Sunday, June 27, 2004 3:11:04 AM
// (Y) Year: . . . . . . . . . . June, 2004
//
// Standard Enumeration Format Specifiers
// (G) General:. . . . . . . . . Green
//     (default):. . . . . . . . Green (default = 'G')
// (F) Flags:. . . . . . . . . . Green (flags or integer)
// (D) Decimal number: . . . . . 3
// (X) Hexadecimal:. . . . . . . 00000003
' This code example demonstrates the Console.WriteLine() method.
' Formatting for this example uses the "en-US" culture.

Class Sample
   Public Enum Color
      Yellow = 1
      Blue = 2
      Green = 3
   End Enum 'Color
   Private Shared thisDate As DateTime = DateTime.Now
   
   Public Shared Sub Main()
      Console.Clear()

      ' Format a negative integer or floating-point number in various ways.
      Console.WriteLine("Standard Numeric Format Specifiers")
      Console.WriteLine("(C) Currency: . . . . . . . . {0:C}" & vbCrLf & _
                        "(D) Decimal:. . . . . . . . . {0:D}" & vbCrLf & _
                        "(E) Scientific: . . . . . . . {1:E}" & vbCrLf & _
                        "(F) Fixed point:. . . . . . . {1:F}" & vbCrLf & _
                        "(G) General:. . . . . . . . . {0:G}" & vbCrLf & _
                        "    (default):. . . . . . . . {0} (default = 'G')" & vbCrLf & _
                        "(N) Number: . . . . . . . . . {0:N}" & vbCrLf & _
                        "(P) Percent:. . . . . . . . . {1:P}" & vbCrLf & _
                        "(R) Round-trip: . . . . . . . {1:R}" & vbCrLf & _
                        "(X) Hexadecimal:. . . . . . . {0:X}" & vbCrLf, _
                        - 123, - 123.45F)

      ' Format the current date in various ways.
      Console.WriteLine("Standard DateTime Format Specifiers")
      Console.WriteLine("(d) Short date: . . . . . . . {0:d}" & vbCrLf & _
                        "(D) Long date:. . . . . . . . {0:D}" & vbCrLf & _
                        "(t) Short time: . . . . . . . {0:t}" & vbCrLf & _
                        "(T) Long time:. . . . . . . . {0:T}" & vbCrLf & _
                        "(f) Full date/short time: . . {0:f}" & vbCrLf & _
                        "(F) Full date/long time:. . . {0:F}" & vbCrLf & _
                        "(g) General date/short time:. {0:g}" & vbCrLf & _
                        "(G) General date/long time: . {0:G}" & vbCrLf & _
                        "    (default):. . . . . . . . {0} (default = 'G')" & vbCrLf & _
                        "(M) Month:. . . . . . . . . . {0:M}" & vbCrLf & _
                        "(R) RFC1123:. . . . . . . . . {0:R}" & vbCrLf & _
                        "(s) Sortable: . . . . . . . . {0:s}" & vbCrLf & _
                        "(u) Universal sortable: . . . {0:u} (invariant)" & vbCrLf & _
                        "(U) Universal full date/time: {0:U}" & vbCrLf & _
                        "(Y) Year: . . . . . . . . . . {0:Y}" & vbCrLf, _
                        thisDate)

      ' Format a Color enumeration value in various ways.
      Console.WriteLine("Standard Enumeration Format Specifiers")
      Console.WriteLine("(G) General:. . . . . . . . . {0:G}" & vbCrLf & _
                        "    (default):. . . . . . . . {0} (default = 'G')" & vbCrLf & _
                        "(F) Flags:. . . . . . . . . . {0:F} (flags or integer)" & vbCrLf & _
                        "(D) Decimal number: . . . . . {0:D}" & vbCrLf & _
                        "(X) Hexadecimal:. . . . . . . {0:X}" & vbCrLf, _
                        Color.Green)
   End Sub
End Class
'
'This code example produces the following results:
'
'Standard Numeric Format Specifiers
'(C) Currency: . . . . . . . . ($123.00)
'(D) Decimal:. . . . . . . . . -123
'(E) Scientific: . . . . . . . -1.234500E+002
'(F) Fixed point:. . . . . . . -123.45
'(G) General:. . . . . . . . . -123
'    (default):. . . . . . . . -123 (default = 'G')
'(N) Number: . . . . . . . . . -123.00
'(P) Percent:. . . . . . . . . -12,345.00 %
'(R) Round-trip: . . . . . . . -123.45
'(X) Hexadecimal:. . . . . . . FFFFFF85
'
'Standard DateTime Format Specifiers
'(d) Short date: . . . . . . . 6/26/2004
'(D) Long date:. . . . . . . . Saturday, June 26, 2004
'(t) Short time: . . . . . . . 8:11 PM
'(T) Long time:. . . . . . . . 8:11:04 PM
'(f) Full date/short time: . . Saturday, June 26, 2004 8:11 PM
'(F) Full date/long time:. . . Saturday, June 26, 2004 8:11:04 PM
'(g) General date/short time:. 6/26/2004 8:11 PM
'(G) General date/long time: . 6/26/2004 8:11:04 PM
'    (default):. . . . . . . . 6/26/2004 8:11:04 PM (default = 'G')
'(M) Month:. . . . . . . . . . June 26
'(R) RFC1123:. . . . . . . . . Sat, 26 Jun 2004 20:11:04 GMT
'(s) Sortable: . . . . . . . . 2004-06-26T20:11:04
'(u) Universal sortable: . . . 2004-06-26 20:11:04Z (invariant)
'(U) Universal full date/time: Sunday, June 27, 2004 3:11:04 AM
'(Y) Year: . . . . . . . . . . June, 2004
'
'Standard Enumeration Format Specifiers
'(G) General:. . . . . . . . . Green
'    (default):. . . . . . . . Green (default = 'G')
'(F) Flags:. . . . . . . . . . Green (flags or integer)
'(D) Decimal number: . . . . . 3
'(X) Hexadecimal:. . . . . . . 00000003
'

The following example is a tip calculator that calculates an 18% tip and uses the WriteLine method to display the amount of the original charge, the amount of the tip, and the total amount. The example is a console application that requires the user to supply the amount of the original charge as a command-line parameter.

using System;

public class TipCalculator
{
    private const double tipRate = 0.18;
    public static void Main(string[] args)
    {
        double billTotal;
        if (args.Length == 0 || ! Double.TryParse(args[0], out billTotal))
        {
            Console.WriteLine("usage: TIPCALC total");
            return;
        }
        double tip = billTotal * tipRate;
        Console.WriteLine();
        Console.WriteLine($"Bill total:\t{billTotal,8:c}");
        Console.WriteLine($"Tip total/rate:\t{tip,8:c} ({tipRate:p1})");
        Console.WriteLine(("").PadRight(24, '-'));
        Console.WriteLine($"Grand total:\t{billTotal + tip,8:c}");
    }
}

/*
>tipcalc 52.23

Bill total:       $52.23
Tip total/rate:    $9.40 (18.0 %)
------------------------
Grand total:      $61.63
*/
open System

let tipRate = 0.18

let args = Environment.GetCommandLineArgs()[1..] 

if args.Length = 0 then 
    Console.WriteLine "usage: TIPCALC total"
else
    match Double.TryParse args[0] with
    | true, billTotal ->
        let tip = billTotal * tipRate
        Console.WriteLine()
        Console.WriteLine $"Bill total:\t{billTotal,8:c}" 
        Console.WriteLine $"Tip total/rate:\t{tip,8:c} ({tipRate:p1})"
        Console.WriteLine("".PadRight(24, '-'))
        Console.WriteLine $"Grand total:\t{billTotal + tip,8:c}" 
    | _ ->
        Console.WriteLine "usage: TIPCALC total"

// >tipcalc 52.23
//
// Bill total:       $52.23
// Tip total/rate:    $9.40 (18.0 %)
// ------------------------
// Grand total:      $61.63
Public Module TipCalculator
    Private Const tipRate As Double = 0.18
   
    Public Sub Main(args As String())
        Dim billTotal As Double
        If (args.Length = 0) OrElse (Not Double.TryParse(args(0), billTotal)) Then
            Console.WriteLine("usage: TIPCALC total")
            Return
        End If

        Dim tip As Double = billTotal * tipRate
        Console.WriteLine()
        Console.WriteLine($"Bill total:{vbTab}{billTotal,8:c}")
        Console.WriteLine($"Tip total/rate:{vbTab}{tip,8:c} ({tipRate:p1})")
        Console.WriteLine("".PadRight(24, "-"c))
        Console.WriteLine($"Grand total:{vbTab}{billTotal + tip,8:c}")
    End Sub

End Module

'Example Output:
'---------------
' >tipcalc 52.23
' 
' Bill total:       $52.23
' Tip total/rate:    $9.40 (18.0 %)
' ------------------------
' Grand total:      $61.63

Remarks

This method uses the composite formatting feature of .NET to convert the value of an object to its text representation and embed that representation in a string. The resulting string is written to the output stream.

The format parameter consists of zero or more runs of text intermixed with zero or more indexed placeholders, called format items, that correspond to an object in the parameter list of this method. The formatting process replaces each format item with the text representation of the value of the corresponding object.

The syntax of a format item is {index[,alignment][:formatString]}, which specifies a mandatory index, the optional length and alignment of the formatted text, and an optional string of format specifier characters that govern how the value of the corresponding object is formatted.

.NET provides extensive formatting support, which is described in greater detail in the following formatting topics.

For more information about the line terminator, see the Remarks section of the WriteLine method that takes no parameters.

See also

Applies to

WriteLine(String)

Writes the specified string value, followed by the current line terminator, to the standard output stream.

public:
 static void WriteLine(System::String ^ value);
public static void WriteLine (string? value);
public static void WriteLine (string value);
static member WriteLine : string -> unit
Public Shared Sub WriteLine (value As String)

Parameters

value
String

The value to write.

Exceptions

An I/O error occurred.

Examples

The example changes the line terminator from its default value of "\r\n" or vbCrLf to "\r\n\r\n" or vbCrLf + vbCrLf. It then calls the WriteLine() and WriteLine(String) methods to display output to the console.

using namespace System;

void main()
{
   array<String^>^ lines = gcnew array<String^> { "This is the first line.", 
                                                  "This is the second line." };
   // Output the lines using the default newline sequence.
   Console::WriteLine("With the default new line characters:");
   Console::WriteLine();
   for each (String^ line in lines)
      Console::WriteLine(line);

   Console::WriteLine();

   // Redefine the newline characters to double space.
   Console::Out->NewLine = "\r\n\r\n";
   // Output the lines using the new newline sequence.
   Console::WriteLine("With redefined new line characters:");
   Console::WriteLine();
   for each (String^ line in lines)
      Console::WriteLine(line);
}
// The example displays the following output:
//       With the default new line characters:
//       
//       This is the first line.
//       This is the second line.
//       
//       With redefined new line characters:
//       
//       
//       
//       This is the first line.
//       
//       This is the second line.
string[] lines = { "This is the first line.",
                   "This is the second line." };
// Output the lines using the default newline sequence.
Console.WriteLine("With the default new line characters:");
Console.WriteLine();
foreach (string line in lines)
   Console.WriteLine(line);

Console.WriteLine();

// Redefine the newline characters to double space.
Console.Out.NewLine = "\r\n\r\n";
// Output the lines using the new newline sequence.
Console.WriteLine("With redefined new line characters:");
Console.WriteLine();
foreach (string line in lines)
   Console.WriteLine(line);

// The example displays the following output:
//       With the default new line characters:
//
//       This is the first line.
//       This is the second line.
//
//       With redefined new line characters:
//
//
//
//       This is the first line.
//
//       This is the second line.
let lines = 
    [ "This is the first line."
      "This is the second line." ]
      
// Output the lines using the default newline sequence.
Console.WriteLine "With the default new line characters:"
Console.WriteLine()
for line in lines do
    Console.WriteLine line

Console.WriteLine()

// Redefine the newline characters to double space.
Console.Out.NewLine <- "\r\n\r\n"
// Output the lines using the new newline sequence.
Console.WriteLine "With redefined new line characters:"
Console.WriteLine()
for line in lines do
    Console.WriteLine line

// The example displays the following output:
//       With the default new line characters:
//
//       This is the first line.
//       This is the second line.
//
//       With redefined new line characters:
//
//
//
//       This is the first line.
//
//       This is the second line.
Module Example
   Public Sub Main()
      Dim lines() As String = { "This is the first line.", _
                                "This is the second line." }
      ' Output the lines using the default newline sequence.
      Console.WriteLine("With the default new line characters:")
      Console.WriteLine()
      For Each line As String In lines
         Console.WriteLine(line)
      Next
      Console.WriteLine()
      
      ' Redefine the newline characters to double space.
      Console.Out.NewLine = vbCrLf + vbCrLf
      ' Output the lines using the new newline sequence.
      Console.WriteLine("With redefined new line characters:")
      Console.WriteLine()
      For Each line As String In lines
         Console.WriteLine(line)
      Next
   End Sub
End Module
' The example displays the following output:
'       With the default new line characters:
'       
'       This is the first line.
'       This is the second line.
'       
'       With redefined new line characters:
'       
'       
'       
'       This is the first line.
'       
'       This is the second line.

Remarks

If value is null, only the line terminator is written to the standard output stream.

For more information about the line terminator, see the Remarks section of the WriteLine() method.

See also

Applies to

WriteLine(Char[], Int32, Int32)

Writes the specified subarray of Unicode characters, followed by the current line terminator, to the standard output stream.

public:
 static void WriteLine(cli::array <char> ^ buffer, int index, int count);
public static void WriteLine (char[] buffer, int index, int count);
static member WriteLine : char[] * int * int -> unit
Public Shared Sub WriteLine (buffer As Char(), index As Integer, count As Integer)

Parameters

buffer
Char[]

An array of Unicode characters.

index
Int32

The starting position in buffer.

count
Int32

The number of characters to write.

Exceptions

buffer is null.

index or count is less than zero.

index plus count specify a position that is not within buffer.

An I/O error occurred.

Remarks

This method writes count characters starting at position index of buffer to the standard output stream.

For more information about the line terminator, see the Remarks section of the WriteLine method that takes no parameters.

See also

Applies to

WriteLine(String, Object[])

Writes the text representation of the specified array of objects, followed by the current line terminator, to the standard output stream using the specified format information.

public:
 static void WriteLine(System::String ^ format, ... cli::array <System::Object ^> ^ arg);
public static void WriteLine (string format, params object?[]? arg);
public static void WriteLine (string format, params object[] arg);
static member WriteLine : string * obj[] -> unit
Public Shared Sub WriteLine (format As String, ParamArray arg As Object())

Parameters

format
String

A composite format string.

arg
Object[]

An array of objects to write using format.

Exceptions

An I/O error occurred.

format or arg is null.

The format specification in format is invalid.

Examples

The following example demonstrates the standard formatting specifiers for numbers, dates, and enumerations.

// This code example demonstrates the Console.WriteLine() method.
// Formatting for this example uses the "en-US" culture.

using namespace System;

public enum class Color {Yellow = 1, Blue, Green};

int main() 
{
    DateTime thisDate = DateTime::Now;
    Console::Clear();

    // Format a negative integer or floating-point number in various ways.
    Console::WriteLine("Standard Numeric Format Specifiers");
    Console::WriteLine(
        "(C) Currency: . . . . . . . . {0:C}\n" +
        "(D) Decimal:. . . . . . . . . {0:D}\n" +
        "(E) Scientific: . . . . . . . {1:E}\n" +
        "(F) Fixed point:. . . . . . . {1:F}\n" +
        "(G) General:. . . . . . . . . {0:G}\n" +
        "    (default):. . . . . . . . {0} (default = 'G')\n" +
        "(N) Number: . . . . . . . . . {0:N}\n" +
        "(P) Percent:. . . . . . . . . {1:P}\n" +
        "(R) Round-trip: . . . . . . . {1:R}\n" +
        "(X) Hexadecimal:. . . . . . . {0:X}\n",
        -123, -123.45f); 

    // Format the current date in various ways.
    Console::WriteLine("Standard DateTime Format Specifiers");
    Console::WriteLine(
        "(d) Short date: . . . . . . . {0:d}\n" +
        "(D) Long date:. . . . . . . . {0:D}\n" +
        "(t) Short time: . . . . . . . {0:t}\n" +
        "(T) Long time:. . . . . . . . {0:T}\n" +
        "(f) Full date/short time: . . {0:f}\n" +
        "(F) Full date/long time:. . . {0:F}\n" +
        "(g) General date/short time:. {0:g}\n" +
        "(G) General date/long time: . {0:G}\n" +
        "    (default):. . . . . . . . {0} (default = 'G')\n" +
        "(M) Month:. . . . . . . . . . {0:M}\n" +
        "(R) RFC1123:. . . . . . . . . {0:R}\n" +
        "(s) Sortable: . . . . . . . . {0:s}\n" +
        "(u) Universal sortable: . . . {0:u} (invariant)\n" +
        "(U) Universal full date/time: {0:U}\n" +
        "(Y) Year: . . . . . . . . . . {0:Y}\n", 
        thisDate);

    // Format a Color enumeration value in various ways.
    Console::WriteLine("Standard Enumeration Format Specifiers");
    Console::WriteLine(
        "(G) General:. . . . . . . . . {0:G}\n" +
        "    (default):. . . . . . . . {0} (default = 'G')\n" +
        "(F) Flags:. . . . . . . . . . {0:F} (flags or integer)\n" +
        "(D) Decimal number: . . . . . {0:D}\n" +
        "(X) Hexadecimal:. . . . . . . {0:X}\n", 
        Color::Green);       

};


/*
This code example produces the following results:

Standard Numeric Format Specifiers
(C) Currency: . . . . . . . . ($123.00)
(D) Decimal:. . . . . . . . . -123
(E) Scientific: . . . . . . . -1.234500E+002
(F) Fixed point:. . . . . . . -123.45
(G) General:. . . . . . . . . -123
(default):. . . . . . . . -123 (default = 'G')
(N) Number: . . . . . . . . . -123.00
(P) Percent:. . . . . . . . . -12,345.00 %
(R) Round-trip: . . . . . . . -123.45
(X) Hexadecimal:. . . . . . . FFFFFF85

Standard DateTime Format Specifiers
(d) Short date: . . . . . . . 6/26/2004
(D) Long date:. . . . . . . . Saturday, June 26, 2004
(t) Short time: . . . . . . . 8:11 PM
(T) Long time:. . . . . . . . 8:11:04 PM
(f) Full date/short time: . . Saturday, June 26, 2004 8:11 PM
(F) Full date/long time:. . . Saturday, June 26, 2004 8:11:04 PM
(g) General date/short time:. 6/26/2004 8:11 PM
(G) General date/long time: . 6/26/2004 8:11:04 PM
(default):. . . . . . . . 6/26/2004 8:11:04 PM (default = 'G')
(M) Month:. . . . . . . . . . June 26
(R) RFC1123:. . . . . . . . . Sat, 26 Jun 2004 20:11:04 GMT
(s) Sortable: . . . . . . . . 2004-06-26T20:11:04
(u) Universal sortable: . . . 2004-06-26 20:11:04Z (invariant)
(U) Universal full date/time: Sunday, June 27, 2004 3:11:04 AM
(Y) Year: . . . . . . . . . . June, 2004

Standard Enumeration Format Specifiers
(G) General:. . . . . . . . . Green
(default):. . . . . . . . Green (default = 'G')
(F) Flags:. . . . . . . . . . Green (flags or integer)
(D) Decimal number: . . . . . 3
(X) Hexadecimal:. . . . . . . 00000003

*/
// This code example demonstrates the Console.WriteLine() method.
// Formatting for this example uses the "en-US" culture.

using System;
class Sample
{
    enum Color {Yellow = 1, Blue, Green};
    static DateTime thisDate = DateTime.Now;

    public static void Main()
    {
        Console.Clear();

        // Format a negative integer or floating-point number in various ways.
        Console.WriteLine("Standard Numeric Format Specifiers");
        Console.WriteLine(
            "(C) Currency: . . . . . . . . {0:C}\n" +
            "(D) Decimal:. . . . . . . . . {0:D}\n" +
            "(E) Scientific: . . . . . . . {1:E}\n" +
            "(F) Fixed point:. . . . . . . {1:F}\n" +
            "(G) General:. . . . . . . . . {0:G}\n" +
            "    (default):. . . . . . . . {0} (default = 'G')\n" +
            "(N) Number: . . . . . . . . . {0:N}\n" +
            "(P) Percent:. . . . . . . . . {1:P}\n" +
            "(R) Round-trip: . . . . . . . {1:R}\n" +
            "(X) Hexadecimal:. . . . . . . {0:X}\n",
            -123, -123.45f);

        // Format the current date in various ways.
        Console.WriteLine("Standard DateTime Format Specifiers");
        Console.WriteLine(
            "(d) Short date: . . . . . . . {0:d}\n" +
            "(D) Long date:. . . . . . . . {0:D}\n" +
            "(t) Short time: . . . . . . . {0:t}\n" +
            "(T) Long time:. . . . . . . . {0:T}\n" +
            "(f) Full date/short time: . . {0:f}\n" +
            "(F) Full date/long time:. . . {0:F}\n" +
            "(g) General date/short time:. {0:g}\n" +
            "(G) General date/long time: . {0:G}\n" +
            "    (default):. . . . . . . . {0} (default = 'G')\n" +
            "(M) Month:. . . . . . . . . . {0:M}\n" +
            "(R) RFC1123:. . . . . . . . . {0:R}\n" +
            "(s) Sortable: . . . . . . . . {0:s}\n" +
            "(u) Universal sortable: . . . {0:u} (invariant)\n" +
            "(U) Universal full date/time: {0:U}\n" +
            "(Y) Year: . . . . . . . . . . {0:Y}\n",
            thisDate);

        // Format a Color enumeration value in various ways.
        Console.WriteLine("Standard Enumeration Format Specifiers");
        Console.WriteLine(
            "(G) General:. . . . . . . . . {0:G}\n" +
            "    (default):. . . . . . . . {0} (default = 'G')\n" +
            "(F) Flags:. . . . . . . . . . {0:F} (flags or integer)\n" +
            "(D) Decimal number: . . . . . {0:D}\n" +
            "(X) Hexadecimal:. . . . . . . {0:X}\n",
            Color.Green);
    }
}
/*
This code example produces the following results:

Standard Numeric Format Specifiers
(C) Currency: . . . . . . . . ($123.00)
(D) Decimal:. . . . . . . . . -123
(E) Scientific: . . . . . . . -1.234500E+002
(F) Fixed point:. . . . . . . -123.45
(G) General:. . . . . . . . . -123
    (default):. . . . . . . . -123 (default = 'G')
(N) Number: . . . . . . . . . -123.00
(P) Percent:. . . . . . . . . -12,345.00 %
(R) Round-trip: . . . . . . . -123.45
(X) Hexadecimal:. . . . . . . FFFFFF85

Standard DateTime Format Specifiers
(d) Short date: . . . . . . . 6/26/2004
(D) Long date:. . . . . . . . Saturday, June 26, 2004
(t) Short time: . . . . . . . 8:11 PM
(T) Long time:. . . . . . . . 8:11:04 PM
(f) Full date/short time: . . Saturday, June 26, 2004 8:11 PM
(F) Full date/long time:. . . Saturday, June 26, 2004 8:11:04 PM
(g) General date/short time:. 6/26/2004 8:11 PM
(G) General date/long time: . 6/26/2004 8:11:04 PM
    (default):. . . . . . . . 6/26/2004 8:11:04 PM (default = 'G')
(M) Month:. . . . . . . . . . June 26
(R) RFC1123:. . . . . . . . . Sat, 26 Jun 2004 20:11:04 GMT
(s) Sortable: . . . . . . . . 2004-06-26T20:11:04
(u) Universal sortable: . . . 2004-06-26 20:11:04Z (invariant)
(U) Universal full date/time: Sunday, June 27, 2004 3:11:04 AM
(Y) Year: . . . . . . . . . . June, 2004

Standard Enumeration Format Specifiers
(G) General:. . . . . . . . . Green
    (default):. . . . . . . . Green (default = 'G')
(F) Flags:. . . . . . . . . . Green (flags or integer)
(D) Decimal number: . . . . . 3
(X) Hexadecimal:. . . . . . . 00000003

*/
// This code example demonstrates the Console.WriteLine() method.
// Formatting for this example uses the "en-US" culture.

open System

type Color = 
    | Yellow = 1
    | Blue = 2
    | Green = 3

let thisDate = DateTime.Now

Console.Clear()

// Format a negative integer or floating-point number in various ways.
Console.WriteLine "Standard Numeric Format Specifiers"
Console.WriteLine(
    "(C) Currency: . . . . . . . . {0:C}\n" +
    "(D) Decimal:. . . . . . . . . {0:D}\n" +
    "(E) Scientific: . . . . . . . {1:E}\n" +
    "(F) Fixed point:. . . . . . . {1:F}\n" +
    "(G) General:. . . . . . . . . {0:G}\n" +
    "    (default):. . . . . . . . {0} (default = 'G')\n" +
    "(N) Number: . . . . . . . . . {0:N}\n" +
    "(P) Percent:. . . . . . . . . {1:P}\n" +
    "(R) Round-trip: . . . . . . . {1:R}\n" +
    "(X) Hexadecimal:. . . . . . . {0:X}\n",
    -123, -123.45f)

// Format the current date in various ways.
Console.WriteLine "Standard DateTime Format Specifiers"
Console.WriteLine(
    "(d) Short date: . . . . . . . {0:d}\n" +
    "(D) Long date:. . . . . . . . {0:D}\n" +
    "(t) Short time: . . . . . . . {0:t}\n" +
    "(T) Long time:. . . . . . . . {0:T}\n" +
    "(f) Full date/short time: . . {0:f}\n" +
    "(F) Full date/long time:. . . {0:F}\n" +
    "(g) General date/short time:. {0:g}\n" +
    "(G) General date/long time: . {0:G}\n" +
    "    (default):. . . . . . . . {0} (default = 'G')\n" +
    "(M) Month:. . . . . . . . . . {0:M}\n" +
    "(R) RFC1123:. . . . . . . . . {0:R}\n" +
    "(s) Sortable: . . . . . . . . {0:s}\n" +
    "(u) Universal sortable: . . . {0:u} (invariant)\n" +
    "(U) Universal full date/time: {0:U}\n" +
    "(Y) Year: . . . . . . . . . . {0:Y}\n",
    thisDate)

// Format a Color enumeration value in various ways.
Console.WriteLine "Standard Enumeration Format Specifiers"
Console.WriteLine(
    "(G) General:. . . . . . . . . {0:G}\n" +
    "    (default):. . . . . . . . {0} (default = 'G')\n" +
    "(F) Flags:. . . . . . . . . . {0:F} (flags or integer)\n" +
    "(D) Decimal number: . . . . . {0:D}\n" +
    "(X) Hexadecimal:. . . . . . . {0:X}\n",
    Color.Green)


// This code example produces the following results:
//
// Standard Numeric Format Specifiers
// (C) Currency: . . . . . . . . ($123.00)
// (D) Decimal:. . . . . . . . . -123
// (E) Scientific: . . . . . . . -1.234500E+002
// (F) Fixed point:. . . . . . . -123.45
// (G) General:. . . . . . . . . -123
//     (default):. . . . . . . . -123 (default = 'G')
// (N) Number: . . . . . . . . . -123.00
// (P) Percent:. . . . . . . . . -12,345.00 %
// (R) Round-trip: . . . . . . . -123.45
// (X) Hexadecimal:. . . . . . . FFFFFF85
//
// Standard DateTime Format Specifiers
// (d) Short date: . . . . . . . 6/26/2004
// (D) Long date:. . . . . . . . Saturday, June 26, 2004
// (t) Short time: . . . . . . . 8:11 PM
// (T) Long time:. . . . . . . . 8:11:04 PM
// (f) Full date/short time: . . Saturday, June 26, 2004 8:11 PM
// (F) Full date/long time:. . . Saturday, June 26, 2004 8:11:04 PM
// (g) General date/short time:. 6/26/2004 8:11 PM
// (G) General date/long time: . 6/26/2004 8:11:04 PM
//     (default):. . . . . . . . 6/26/2004 8:11:04 PM (default = 'G')
// (M) Month:. . . . . . . . . . June 26
// (R) RFC1123:. . . . . . . . . Sat, 26 Jun 2004 20:11:04 GMT
// (s) Sortable: . . . . . . . . 2004-06-26T20:11:04
// (u) Universal sortable: . . . 2004-06-26 20:11:04Z (invariant)
// (U) Universal full date/time: Sunday, June 27, 2004 3:11:04 AM
// (Y) Year: . . . . . . . . . . June, 2004
//
// Standard Enumeration Format Specifiers
// (G) General:. . . . . . . . . Green
//     (default):. . . . . . . . Green (default = 'G')
// (F) Flags:. . . . . . . . . . Green (flags or integer)
// (D) Decimal number: . . . . . 3
// (X) Hexadecimal:. . . . . . . 00000003
' This code example demonstrates the Console.WriteLine() method.
' Formatting for this example uses the "en-US" culture.

Class Sample
   Public Enum Color
      Yellow = 1
      Blue = 2
      Green = 3
   End Enum 'Color
   Private Shared thisDate As DateTime = DateTime.Now
   
   Public Shared Sub Main()
      Console.Clear()

      ' Format a negative integer or floating-point number in various ways.
      Console.WriteLine("Standard Numeric Format Specifiers")
      Console.WriteLine("(C) Currency: . . . . . . . . {0:C}" & vbCrLf & _
                        "(D) Decimal:. . . . . . . . . {0:D}" & vbCrLf & _
                        "(E) Scientific: . . . . . . . {1:E}" & vbCrLf & _
                        "(F) Fixed point:. . . . . . . {1:F}" & vbCrLf & _
                        "(G) General:. . . . . . . . . {0:G}" & vbCrLf & _
                        "    (default):. . . . . . . . {0} (default = 'G')" & vbCrLf & _
                        "(N) Number: . . . . . . . . . {0:N}" & vbCrLf & _
                        "(P) Percent:. . . . . . . . . {1:P}" & vbCrLf & _
                        "(R) Round-trip: . . . . . . . {1:R}" & vbCrLf & _
                        "(X) Hexadecimal:. . . . . . . {0:X}" & vbCrLf, _
                        - 123, - 123.45F)

      ' Format the current date in various ways.
      Console.WriteLine("Standard DateTime Format Specifiers")
      Console.WriteLine("(d) Short date: . . . . . . . {0:d}" & vbCrLf & _
                        "(D) Long date:. . . . . . . . {0:D}" & vbCrLf & _
                        "(t) Short time: . . . . . . . {0:t}" & vbCrLf & _
                        "(T) Long time:. . . . . . . . {0:T}" & vbCrLf & _
                        "(f) Full date/short time: . . {0:f}" & vbCrLf & _
                        "(F) Full date/long time:. . . {0:F}" & vbCrLf & _
                        "(g) General date/short time:. {0:g}" & vbCrLf & _
                        "(G) General date/long time: . {0:G}" & vbCrLf & _
                        "    (default):. . . . . . . . {0} (default = 'G')" & vbCrLf & _
                        "(M) Month:. . . . . . . . . . {0:M}" & vbCrLf & _
                        "(R) RFC1123:. . . . . . . . . {0:R}" & vbCrLf & _
                        "(s) Sortable: . . . . . . . . {0:s}" & vbCrLf & _
                        "(u) Universal sortable: . . . {0:u} (invariant)" & vbCrLf & _
                        "(U) Universal full date/time: {0:U}" & vbCrLf & _
                        "(Y) Year: . . . . . . . . . . {0:Y}" & vbCrLf, _
                        thisDate)

      ' Format a Color enumeration value in various ways.
      Console.WriteLine("Standard Enumeration Format Specifiers")
      Console.WriteLine("(G) General:. . . . . . . . . {0:G}" & vbCrLf & _
                        "    (default):. . . . . . . . {0} (default = 'G')" & vbCrLf & _
                        "(F) Flags:. . . . . . . . . . {0:F} (flags or integer)" & vbCrLf & _
                        "(D) Decimal number: . . . . . {0:D}" & vbCrLf & _
                        "(X) Hexadecimal:. . . . . . . {0:X}" & vbCrLf, _
                        Color.Green)
   End Sub
End Class
'
'This code example produces the following results:
'
'Standard Numeric Format Specifiers
'(C) Currency: . . . . . . . . ($123.00)
'(D) Decimal:. . . . . . . . . -123
'(E) Scientific: . . . . . . . -1.234500E+002
'(F) Fixed point:. . . . . . . -123.45
'(G) General:. . . . . . . . . -123
'    (default):. . . . . . . . -123 (default = 'G')
'(N) Number: . . . . . . . . . -123.00
'(P) Percent:. . . . . . . . . -12,345.00 %
'(R) Round-trip: . . . . . . . -123.45
'(X) Hexadecimal:. . . . . . . FFFFFF85
'
'Standard DateTime Format Specifiers
'(d) Short date: . . . . . . . 6/26/2004
'(D) Long date:. . . . . . . . Saturday, June 26, 2004
'(t) Short time: . . . . . . . 8:11 PM
'(T) Long time:. . . . . . . . 8:11:04 PM
'(f) Full date/short time: . . Saturday, June 26, 2004 8:11 PM
'(F) Full date/long time:. . . Saturday, June 26, 2004 8:11:04 PM
'(g) General date/short time:. 6/26/2004 8:11 PM
'(G) General date/long time: . 6/26/2004 8:11:04 PM
'    (default):. . . . . . . . 6/26/2004 8:11:04 PM (default = 'G')
'(M) Month:. . . . . . . . . . June 26
'(R) RFC1123:. . . . . . . . . Sat, 26 Jun 2004 20:11:04 GMT
'(s) Sortable: . . . . . . . . 2004-06-26T20:11:04
'(u) Universal sortable: . . . 2004-06-26 20:11:04Z (invariant)
'(U) Universal full date/time: Sunday, June 27, 2004 3:11:04 AM
'(Y) Year: . . . . . . . . . . June, 2004
'
'Standard Enumeration Format Specifiers
'(G) General:. . . . . . . . . Green
'    (default):. . . . . . . . Green (default = 'G')
'(F) Flags:. . . . . . . . . . Green (flags or integer)
'(D) Decimal number: . . . . . 3
'(X) Hexadecimal:. . . . . . . 00000003
'

The following example is a tip calculator that calculates an 18% tip and uses the WriteLine method to display the amount of the original charge, the amount of the tip, and the total amount. The example is a console application that requires the user to supply the amount of the original charge as a command-line parameter.

using System;

public class TipCalculator
{
    private const double tipRate = 0.18;
    public static void Main(string[] args)
    {
        double billTotal;
        if (args.Length == 0 || ! Double.TryParse(args[0], out billTotal))
        {
            Console.WriteLine("usage: TIPCALC total");
            return;
        }
        double tip = billTotal * tipRate;
        Console.WriteLine();
        Console.WriteLine($"Bill total:\t{billTotal,8:c}");
        Console.WriteLine($"Tip total/rate:\t{tip,8:c} ({tipRate:p1})");
        Console.WriteLine(("").PadRight(24, '-'));
        Console.WriteLine($"Grand total:\t{billTotal + tip,8:c}");
    }
}

/*
>tipcalc 52.23

Bill total:       $52.23
Tip total/rate:    $9.40 (18.0 %)
------------------------
Grand total:      $61.63
*/
open System

let tipRate = 0.18

let args = Environment.GetCommandLineArgs()[1..] 

if args.Length = 0 then 
    Console.WriteLine "usage: TIPCALC total"
else
    match Double.TryParse args[0] with
    | true, billTotal ->
        let tip = billTotal * tipRate
        Console.WriteLine()
        Console.WriteLine $"Bill total:\t{billTotal,8:c}" 
        Console.WriteLine $"Tip total/rate:\t{tip,8:c} ({tipRate:p1})"
        Console.WriteLine("".PadRight(24, '-'))
        Console.WriteLine $"Grand total:\t{billTotal + tip,8:c}" 
    | _ ->
        Console.WriteLine "usage: TIPCALC total"

// >tipcalc 52.23
//
// Bill total:       $52.23
// Tip total/rate:    $9.40 (18.0 %)
// ------------------------
// Grand total:      $61.63
Public Module TipCalculator
    Private Const tipRate As Double = 0.18
   
    Public Sub Main(args As String())
        Dim billTotal As Double
        If (args.Length = 0) OrElse (Not Double.TryParse(args(0), billTotal)) Then
            Console.WriteLine("usage: TIPCALC total")
            Return
        End If

        Dim tip As Double = billTotal * tipRate
        Console.WriteLine()
        Console.WriteLine($"Bill total:{vbTab}{billTotal,8:c}")
        Console.WriteLine($"Tip total/rate:{vbTab}{tip,8:c} ({tipRate:p1})")
        Console.WriteLine("".PadRight(24, "-"c))
        Console.WriteLine($"Grand total:{vbTab}{billTotal + tip,8:c}")
    End Sub

End Module

'Example Output:
'---------------
' >tipcalc 52.23
' 
' Bill total:       $52.23
' Tip total/rate:    $9.40 (18.0 %)
' ------------------------
' Grand total:      $61.63

Remarks

This method uses the composite formatting feature of .NET to convert the value of an object to its text representation and embed that representation in a string. The resulting string is written to the output stream.

The format parameter consists of zero or more runs of text intermixed with zero or more indexed placeholders, called format items, that correspond to an object in the parameter list of this method. The formatting process replaces each format item with the text representation of the value of the corresponding object.

The syntax of a format item is {index[,alignment][:formatString]}, which specifies a mandatory index, the optional length and alignment of the formatted text, and an optional string of format specifier characters that govern how the value of the corresponding object is formatted.

.NET provides extensive formatting support, which is described in greater detail in the following formatting topics.

For more information about the line terminator, see the Remarks section of the WriteLine method that takes no parameters.

Notes to Callers

This method is not called by C++ code. The C++ compiler resolves calls to System.Console.WriteLine that include a string and a list of four or more object parameters as a call to WriteLine(String, Object, Object, Object, Object). It resolves calls to System.Console.WriteLine that include a string and an object array as a call to WriteLine(String, Object).

See also

Applies to

WriteLine(String, Object)

Writes the text representation of the specified object, followed by the current line terminator, to the standard output stream using the specified format information.

public:
 static void WriteLine(System::String ^ format, System::Object ^ arg0);
public static void WriteLine (string format, object? arg0);
public static void WriteLine (string format, object arg0);
static member WriteLine : string * obj -> unit
Public Shared Sub WriteLine (format As String, arg0 As Object)

Parameters

format
String

A composite format string.

arg0
Object

An object to write using format.

Exceptions

An I/O error occurred.

format is null.

The format specification in format is invalid.

Examples

The following example calls the WriteLine(String, Object) method to display five randomly generated Boolean values.

Random rnd = new Random();
// Generate five random Boolean values.
for (int ctr = 1; ctr <= 5; ctr++) {
   bool bln = rnd.Next(0, 2) == 1;
   Console.WriteLine($"True or False: {bln}");
}

// The example displays an output similar to the following:
//       True or False: False
//       True or False: True
//       True or False: False
//       True or False: False
//       True or False: True
let rnd = Random()

// Generate five random Boolean values.
for _ = 1 to 5 do
    let bln = rnd.Next(0, 2) = 1
    Console.WriteLine $"True or False: {bln}"

// The example displays an output similar to the following:
//       True or False: False
//       True or False: True
//       True or False: False
//       True or False: False
//       True or False: True
Module Example
   Public Sub Main()
      Dim rnd As New Random()
      ' Generate five random Boolean values.
      For ctr As Integer = 1 To 5
         Dim bool As Boolean = Convert.ToBoolean(rnd.Next(0, 2))
         Console.WriteLine("True or False: {0}", bool)
      Next
   End Sub
End Module
' The example displays the following output:
'       True or False: False
'       True or False: True
'       True or False: False
'       True or False: False
'       True or False: True

The following example calls the WriteLine(String, Object) method to display the current date. Note that the format item in the format argument uses the "D" standard date and time format string to display the date in the long date format of the current culture.

using System;

public class Example
{
   public static void Main()
   {
      Console.WriteLine("Today's date: {0:D}", DateTime.Now);
   }
}
// The example displays output like the following:
//       Today's date: Monday, April 1, 2019
open System

Console.WriteLine $"Today's date: {DateTime.Now:D}"

// The example displays output like the following:
//       Today's date: Tuesday, December 28, 2021
Module Example
   Public Sub Main()
      Console.WriteLine("Today's date: {0:D}", DateTime.Now)
   End Sub
End Module
' The example displays output like the following:
'       Today's date: Friday, April 1, 2016

Remarks

This method uses the composite formatting feature of .NET to convert the value of an object to its text representation and embed that representation in a string. The resulting string is written to the output stream.

The format parameter consists of zero or more runs of text intermixed with zero or more indexed placeholders, called format items, that correspond to an object in the parameter list of this method. The formatting process replaces each format item with the text representation of the value of the corresponding object.

The syntax of a format item is {index[,alignment][:formatString]}, which specifies a mandatory index, the optional length and alignment of the formatted text, and an optional string of format specifier characters that govern how the value of the corresponding object is formatted.

.NET provides extensive formatting support, which is described in greater detail in the following formatting topics.

For more information about the line terminator, see the Remarks section of the WriteLine method that takes no parameters.

See also

Applies to

WriteLine(UInt64)

Important

This API is not CLS-compliant.

Writes the text representation of the specified 64-bit unsigned integer value, followed by the current line terminator, to the standard output stream.

public:
 static void WriteLine(System::UInt64 value);
[System.CLSCompliant(false)]
public static void WriteLine (ulong value);
[<System.CLSCompliant(false)>]
static member WriteLine : uint64 -> unit
Public Shared Sub WriteLine (value As ULong)

Parameters

value
UInt64

The value to write.

Attributes

Exceptions

An I/O error occurred.

Examples

The following example is a tip calculator that calculates an 18% tip and uses the WriteLine method to display the amount of the original charge, the amount of the tip, and the total amount. The example is a console application that requires the user to supply the amount of the original charge as a command-line parameter.

using System;

public class TipCalculator
{
    private const double tipRate = 0.18;
    public static void Main(string[] args)
    {
        double billTotal;
        if (args.Length == 0 || ! Double.TryParse(args[0], out billTotal))
        {
            Console.WriteLine("usage: TIPCALC total");
            return;
        }
        double tip = billTotal * tipRate;
        Console.WriteLine();
        Console.WriteLine($"Bill total:\t{billTotal,8:c}");
        Console.WriteLine($"Tip total/rate:\t{tip,8:c} ({tipRate:p1})");
        Console.WriteLine(("").PadRight(24, '-'));
        Console.WriteLine($"Grand total:\t{billTotal + tip,8:c}");
    }
}

/*
>tipcalc 52.23

Bill total:       $52.23
Tip total/rate:    $9.40 (18.0 %)
------------------------
Grand total:      $61.63
*/
open System

let tipRate = 0.18

let args = Environment.GetCommandLineArgs()[1..] 

if args.Length = 0 then 
    Console.WriteLine "usage: TIPCALC total"
else
    match Double.TryParse args[0] with
    | true, billTotal ->
        let tip = billTotal * tipRate
        Console.WriteLine()
        Console.WriteLine $"Bill total:\t{billTotal,8:c}" 
        Console.WriteLine $"Tip total/rate:\t{tip,8:c} ({tipRate:p1})"
        Console.WriteLine("".PadRight(24, '-'))
        Console.WriteLine $"Grand total:\t{billTotal + tip,8:c}" 
    | _ ->
        Console.WriteLine "usage: TIPCALC total"

// >tipcalc 52.23
//
// Bill total:       $52.23
// Tip total/rate:    $9.40 (18.0 %)
// ------------------------
// Grand total:      $61.63
Public Module TipCalculator
    Private Const tipRate As Double = 0.18
   
    Public Sub Main(args As String())
        Dim billTotal As Double
        If (args.Length = 0) OrElse (Not Double.TryParse(args(0), billTotal)) Then
            Console.WriteLine("usage: TIPCALC total")
            Return
        End If

        Dim tip As Double = billTotal * tipRate
        Console.WriteLine()
        Console.WriteLine($"Bill total:{vbTab}{billTotal,8:c}")
        Console.WriteLine($"Tip total/rate:{vbTab}{tip,8:c} ({tipRate:p1})")
        Console.WriteLine("".PadRight(24, "-"c))
        Console.WriteLine($"Grand total:{vbTab}{billTotal + tip,8:c}")
    End Sub

End Module

'Example Output:
'---------------
' >tipcalc 52.23
' 
' Bill total:       $52.23
' Tip total/rate:    $9.40 (18.0 %)
' ------------------------
' Grand total:      $61.63

Remarks

The text representation of value is produced by calling the UInt64.ToString method.

For more information about the line terminator, see the Remarks section of the WriteLine method that takes no parameters.

See also

Applies to

WriteLine(UInt32)

Important

This API is not CLS-compliant.

Writes the text representation of the specified 32-bit unsigned integer value, followed by the current line terminator, to the standard output stream.

public:
 static void WriteLine(System::UInt32 value);
[System.CLSCompliant(false)]
public static void WriteLine (uint value);
[<System.CLSCompliant(false)>]
static member WriteLine : uint32 -> unit
Public Shared Sub WriteLine (value As UInteger)

Parameters

value
UInt32

The value to write.

Attributes

Exceptions

An I/O error occurred.

Examples

The following example is a tip calculator that calculates an 18% tip and uses the WriteLine method to display the amount of the original charge, the amount of the tip, and the total amount. The example is a console application that requires the user to supply the amount of the original charge as a command-line parameter.

using System;

public class TipCalculator
{
    private const double tipRate = 0.18;
    public static void Main(string[] args)
    {
        double billTotal;
        if (args.Length == 0 || ! Double.TryParse(args[0], out billTotal))
        {
            Console.WriteLine("usage: TIPCALC total");
            return;
        }
        double tip = billTotal * tipRate;
        Console.WriteLine();
        Console.WriteLine($"Bill total:\t{billTotal,8:c}");
        Console.WriteLine($"Tip total/rate:\t{tip,8:c} ({tipRate:p1})");
        Console.WriteLine(("").PadRight(24, '-'));
        Console.WriteLine($"Grand total:\t{billTotal + tip,8:c}");
    }
}

/*
>tipcalc 52.23

Bill total:       $52.23
Tip total/rate:    $9.40 (18.0 %)
------------------------
Grand total:      $61.63
*/
open System

let tipRate = 0.18

let args = Environment.GetCommandLineArgs()[1..] 

if args.Length = 0 then 
    Console.WriteLine "usage: TIPCALC total"
else
    match Double.TryParse args[0] with
    | true, billTotal ->
        let tip = billTotal * tipRate
        Console.WriteLine()
        Console.WriteLine $"Bill total:\t{billTotal,8:c}" 
        Console.WriteLine $"Tip total/rate:\t{tip,8:c} ({tipRate:p1})"
        Console.WriteLine("".PadRight(24, '-'))
        Console.WriteLine $"Grand total:\t{billTotal + tip,8:c}" 
    | _ ->
        Console.WriteLine "usage: TIPCALC total"

// >tipcalc 52.23
//
// Bill total:       $52.23
// Tip total/rate:    $9.40 (18.0 %)
// ------------------------
// Grand total:      $61.63
Public Module TipCalculator
    Private Const tipRate As Double = 0.18
   
    Public Sub Main(args As String())
        Dim billTotal As Double
        If (args.Length = 0) OrElse (Not Double.TryParse(args(0), billTotal)) Then
            Console.WriteLine("usage: TIPCALC total")
            Return
        End If

        Dim tip As Double = billTotal * tipRate
        Console.WriteLine()
        Console.WriteLine($"Bill total:{vbTab}{billTotal,8:c}")
        Console.WriteLine($"Tip total/rate:{vbTab}{tip,8:c} ({tipRate:p1})")
        Console.WriteLine("".PadRight(24, "-"c))
        Console.WriteLine($"Grand total:{vbTab}{billTotal + tip,8:c}")
    End Sub

End Module

'Example Output:
'---------------
' >tipcalc 52.23
' 
' Bill total:       $52.23
' Tip total/rate:    $9.40 (18.0 %)
' ------------------------
' Grand total:      $61.63

Remarks

The text representation of value is produced by calling the UInt32.ToString method.

For more information about the line terminator, see the Remarks section of the WriteLine method that takes no parameters.

See also

Applies to

WriteLine(Single)

Writes the text representation of the specified single-precision floating-point value, followed by the current line terminator, to the standard output stream.

public:
 static void WriteLine(float value);
public static void WriteLine (float value);
static member WriteLine : single -> unit
Public Shared Sub WriteLine (value As Single)

Parameters

value
Single

The value to write.

Exceptions

An I/O error occurred.

Examples

The following example is a tip calculator that calculates an 18% tip and uses the WriteLine method to display the amount of the original charge, the amount of the tip, and the total amount. The example is a console application that requires the user to supply the amount of the original charge as a command-line parameter.

using System;

public class TipCalculator
{
    private const double tipRate = 0.18;
    public static void Main(string[] args)
    {
        double billTotal;
        if (args.Length == 0 || ! Double.TryParse(args[0], out billTotal))
        {
            Console.WriteLine("usage: TIPCALC total");
            return;
        }
        double tip = billTotal * tipRate;
        Console.WriteLine();
        Console.WriteLine($"Bill total:\t{billTotal,8:c}");
        Console.WriteLine($"Tip total/rate:\t{tip,8:c} ({tipRate:p1})");
        Console.WriteLine(("").PadRight(24, '-'));
        Console.WriteLine($"Grand total:\t{billTotal + tip,8:c}");
    }
}

/*
>tipcalc 52.23

Bill total:       $52.23
Tip total/rate:    $9.40 (18.0 %)
------------------------
Grand total:      $61.63
*/
open System

let tipRate = 0.18

let args = Environment.GetCommandLineArgs()[1..] 

if args.Length = 0 then 
    Console.WriteLine "usage: TIPCALC total"
else
    match Double.TryParse args[0] with
    | true, billTotal ->
        let tip = billTotal * tipRate
        Console.WriteLine()
        Console.WriteLine $"Bill total:\t{billTotal,8:c}" 
        Console.WriteLine $"Tip total/rate:\t{tip,8:c} ({tipRate:p1})"
        Console.WriteLine("".PadRight(24, '-'))
        Console.WriteLine $"Grand total:\t{billTotal + tip,8:c}" 
    | _ ->
        Console.WriteLine "usage: TIPCALC total"

// >tipcalc 52.23
//
// Bill total:       $52.23
// Tip total/rate:    $9.40 (18.0 %)
// ------------------------
// Grand total:      $61.63
Public Module TipCalculator
    Private Const tipRate As Double = 0.18
   
    Public Sub Main(args As String())
        Dim billTotal As Double
        If (args.Length = 0) OrElse (Not Double.TryParse(args(0), billTotal)) Then
            Console.WriteLine("usage: TIPCALC total")
            Return
        End If

        Dim tip As Double = billTotal * tipRate
        Console.WriteLine()
        Console.WriteLine($"Bill total:{vbTab}{billTotal,8:c}")
        Console.WriteLine($"Tip total/rate:{vbTab}{tip,8:c} ({tipRate:p1})")
        Console.WriteLine("".PadRight(24, "-"c))
        Console.WriteLine($"Grand total:{vbTab}{billTotal + tip,8:c}")
    End Sub

End Module

'Example Output:
'---------------
' >tipcalc 52.23
' 
' Bill total:       $52.23
' Tip total/rate:    $9.40 (18.0 %)
' ------------------------
' Grand total:      $61.63

Remarks

The text representation of value is produced by calling the Single.ToString method.

For more information about the line terminator, see the Remarks section of the WriteLine method that takes no parameters.

See also

Applies to

WriteLine(Decimal)

Writes the text representation of the specified Decimal value, followed by the current line terminator, to the standard output stream.

public:
 static void WriteLine(System::Decimal value);
public static void WriteLine (decimal value);
static member WriteLine : decimal -> unit
Public Shared Sub WriteLine (value As Decimal)

Parameters

value
Decimal

The value to write.

Exceptions

An I/O error occurred.

Examples

The following example is a tip calculator that calculates an 18% tip and uses the WriteLine method to display the amount of the original charge, the amount of the tip, and the total amount. The example is a console application that requires the user to supply the amount of the original charge as a command-line parameter.

using System;

public class TipCalculator
{
    private const double tipRate = 0.18;
    public static void Main(string[] args)
    {
        double billTotal;
        if (args.Length == 0 || ! Double.TryParse(args[0], out billTotal))
        {
            Console.WriteLine("usage: TIPCALC total");
            return;
        }
        double tip = billTotal * tipRate;
        Console.WriteLine();
        Console.WriteLine($"Bill total:\t{billTotal,8:c}");
        Console.WriteLine($"Tip total/rate:\t{tip,8:c} ({tipRate:p1})");
        Console.WriteLine(("").PadRight(24, '-'));
        Console.WriteLine($"Grand total:\t{billTotal + tip,8:c}");
    }
}

/*
>tipcalc 52.23

Bill total:       $52.23
Tip total/rate:    $9.40 (18.0 %)
------------------------
Grand total:      $61.63
*/
open System

let tipRate = 0.18

let args = Environment.GetCommandLineArgs()[1..] 

if args.Length = 0 then 
    Console.WriteLine "usage: TIPCALC total"
else
    match Double.TryParse args[0] with
    | true, billTotal ->
        let tip = billTotal * tipRate
        Console.WriteLine()
        Console.WriteLine $"Bill total:\t{billTotal,8:c}" 
        Console.WriteLine $"Tip total/rate:\t{tip,8:c} ({tipRate:p1})"
        Console.WriteLine("".PadRight(24, '-'))
        Console.WriteLine $"Grand total:\t{billTotal + tip,8:c}" 
    | _ ->
        Console.WriteLine "usage: TIPCALC total"

// >tipcalc 52.23
//
// Bill total:       $52.23
// Tip total/rate:    $9.40 (18.0 %)
// ------------------------
// Grand total:      $61.63
Public Module TipCalculator
    Private Const tipRate As Double = 0.18
   
    Public Sub Main(args As String())
        Dim billTotal As Double
        If (args.Length = 0) OrElse (Not Double.TryParse(args(0), billTotal)) Then
            Console.WriteLine("usage: TIPCALC total")
            Return
        End If

        Dim tip As Double = billTotal * tipRate
        Console.WriteLine()
        Console.WriteLine($"Bill total:{vbTab}{billTotal,8:c}")
        Console.WriteLine($"Tip total/rate:{vbTab}{tip,8:c} ({tipRate:p1})")
        Console.WriteLine("".PadRight(24, "-"c))
        Console.WriteLine($"Grand total:{vbTab}{billTotal + tip,8:c}")
    End Sub

End Module

'Example Output:
'---------------
' >tipcalc 52.23
' 
' Bill total:       $52.23
' Tip total/rate:    $9.40 (18.0 %)
' ------------------------
' Grand total:      $61.63

Remarks

The text representation of value is produced by calling the Decimal.ToString method.

For more information about the line terminator, see the Remarks section of the WriteLine method that takes no parameters.

See also

Applies to

WriteLine(Int64)

Writes the text representation of the specified 64-bit signed integer value, followed by the current line terminator, to the standard output stream.

public:
 static void WriteLine(long value);
public static void WriteLine (long value);
static member WriteLine : int64 -> unit
Public Shared Sub WriteLine (value As Long)

Parameters

value
Int64

The value to write.

Exceptions

An I/O error occurred.

Examples

The following example is a tip calculator that calculates an 18% tip and uses the WriteLine method to display the amount of the original charge, the amount of the tip, and the total amount. The example is a console application that requires the user to supply the amount of the original charge as a command-line parameter.

using System;

public class TipCalculator
{
    private const double tipRate = 0.18;
    public static void Main(string[] args)
    {
        double billTotal;
        if (args.Length == 0 || ! Double.TryParse(args[0], out billTotal))
        {
            Console.WriteLine("usage: TIPCALC total");
            return;
        }
        double tip = billTotal * tipRate;
        Console.WriteLine();
        Console.WriteLine($"Bill total:\t{billTotal,8:c}");
        Console.WriteLine($"Tip total/rate:\t{tip,8:c} ({tipRate:p1})");
        Console.WriteLine(("").PadRight(24, '-'));
        Console.WriteLine($"Grand total:\t{billTotal + tip,8:c}");
    }
}

/*
>tipcalc 52.23

Bill total:       $52.23
Tip total/rate:    $9.40 (18.0 %)
------------------------
Grand total:      $61.63
*/
open System

let tipRate = 0.18

let args = Environment.GetCommandLineArgs()[1..] 

if args.Length = 0 then 
    Console.WriteLine "usage: TIPCALC total"
else
    match Double.TryParse args[0] with
    | true, billTotal ->
        let tip = billTotal * tipRate
        Console.WriteLine()
        Console.WriteLine $"Bill total:\t{billTotal,8:c}" 
        Console.WriteLine $"Tip total/rate:\t{tip,8:c} ({tipRate:p1})"
        Console.WriteLine("".PadRight(24, '-'))
        Console.WriteLine $"Grand total:\t{billTotal + tip,8:c}" 
    | _ ->
        Console.WriteLine "usage: TIPCALC total"

// >tipcalc 52.23
//
// Bill total:       $52.23
// Tip total/rate:    $9.40 (18.0 %)
// ------------------------
// Grand total:      $61.63
Public Module TipCalculator
    Private Const tipRate As Double = 0.18
   
    Public Sub Main(args As String())
        Dim billTotal As Double
        If (args.Length = 0) OrElse (Not Double.TryParse(args(0), billTotal)) Then
            Console.WriteLine("usage: TIPCALC total")
            Return
        End If

        Dim tip As Double = billTotal * tipRate
        Console.WriteLine()
        Console.WriteLine($"Bill total:{vbTab}{billTotal,8:c}")
        Console.WriteLine($"Tip total/rate:{vbTab}{tip,8:c} ({tipRate:p1})")
        Console.WriteLine("".PadRight(24, "-"c))
        Console.WriteLine($"Grand total:{vbTab}{billTotal + tip,8:c}")
    End Sub

End Module

'Example Output:
'---------------
' >tipcalc 52.23
' 
' Bill total:       $52.23
' Tip total/rate:    $9.40 (18.0 %)
' ------------------------
' Grand total:      $61.63

Remarks

The text representation of value is produced by calling the Int64.ToString method.

For more information about the line terminator, see the Remarks section of the WriteLine method that takes no parameters.

See also

Applies to

WriteLine(Int32)

Writes the text representation of the specified 32-bit signed integer value, followed by the current line terminator, to the standard output stream.

public:
 static void WriteLine(int value);
public static void WriteLine (int value);
static member WriteLine : int -> unit
Public Shared Sub WriteLine (value As Integer)

Parameters

value
Int32

The value to write.

Exceptions

An I/O error occurred.

Examples

The following example is a tip calculator that calculates an 18% tip and uses the WriteLine method to display the amount of the original charge, the amount of the tip, and the total amount. The example is a console application that requires the user to supply the amount of the original charge as a command-line parameter.

using System;

public class TipCalculator
{
    private const double tipRate = 0.18;
    public static void Main(string[] args)
    {
        double billTotal;
        if (args.Length == 0 || ! Double.TryParse(args[0], out billTotal))
        {
            Console.WriteLine("usage: TIPCALC total");
            return;
        }
        double tip = billTotal * tipRate;
        Console.WriteLine();
        Console.WriteLine($"Bill total:\t{billTotal,8:c}");
        Console.WriteLine($"Tip total/rate:\t{tip,8:c} ({tipRate:p1})");
        Console.WriteLine(("").PadRight(24, '-'));
        Console.WriteLine($"Grand total:\t{billTotal + tip,8:c}");
    }
}

/*
>tipcalc 52.23

Bill total:       $52.23
Tip total/rate:    $9.40 (18.0 %)
------------------------
Grand total:      $61.63
*/
open System

let tipRate = 0.18

let args = Environment.GetCommandLineArgs()[1..] 

if args.Length = 0 then 
    Console.WriteLine "usage: TIPCALC total"
else
    match Double.TryParse args[0] with
    | true, billTotal ->
        let tip = billTotal * tipRate
        Console.WriteLine()
        Console.WriteLine $"Bill total:\t{billTotal,8:c}" 
        Console.WriteLine $"Tip total/rate:\t{tip,8:c} ({tipRate:p1})"
        Console.WriteLine("".PadRight(24, '-'))
        Console.WriteLine $"Grand total:\t{billTotal + tip,8:c}" 
    | _ ->
        Console.WriteLine "usage: TIPCALC total"

// >tipcalc 52.23
//
// Bill total:       $52.23
// Tip total/rate:    $9.40 (18.0 %)
// ------------------------
// Grand total:      $61.63
Public Module TipCalculator
    Private Const tipRate As Double = 0.18
   
    Public Sub Main(args As String())
        Dim billTotal As Double
        If (args.Length = 0) OrElse (Not Double.TryParse(args(0), billTotal)) Then
            Console.WriteLine("usage: TIPCALC total")
            Return
        End If

        Dim tip As Double = billTotal * tipRate
        Console.WriteLine()
        Console.WriteLine($"Bill total:{vbTab}{billTotal,8:c}")
        Console.WriteLine($"Tip total/rate:{vbTab}{tip,8:c} ({tipRate:p1})")
        Console.WriteLine("".PadRight(24, "-"c))
        Console.WriteLine($"Grand total:{vbTab}{billTotal + tip,8:c}")
    End Sub

End Module

'Example Output:
'---------------
' >tipcalc 52.23
' 
' Bill total:       $52.23
' Tip total/rate:    $9.40 (18.0 %)
' ------------------------
' Grand total:      $61.63

Remarks

The text representation of value is produced by calling the Int32.ToString method.

For more information about the line terminator, see the Remarks section of the WriteLine method that takes no parameters.

See also

Applies to

WriteLine(Double)

Writes the text representation of the specified double-precision floating-point value, followed by the current line terminator, to the standard output stream.

public:
 static void WriteLine(double value);
public static void WriteLine (double value);
static member WriteLine : double -> unit
Public Shared Sub WriteLine (value As Double)

Parameters

value
Double

The value to write.

Exceptions

An I/O error occurred.

Examples

The following example is a tip calculator that calculates an 18% tip and uses the WriteLine method to display the amount of the original charge, the amount of the tip, and the total amount. The example is a console application that requires the user to supply the amount of the original charge as a command-line parameter.

using System;

public class TipCalculator
{
    private const double tipRate = 0.18;
    public static void Main(string[] args)
    {
        double billTotal;
        if (args.Length == 0 || ! Double.TryParse(args[0], out billTotal))
        {
            Console.WriteLine("usage: TIPCALC total");
            return;
        }
        double tip = billTotal * tipRate;
        Console.WriteLine();
        Console.WriteLine($"Bill total:\t{billTotal,8:c}");
        Console.WriteLine($"Tip total/rate:\t{tip,8:c} ({tipRate:p1})");
        Console.WriteLine(("").PadRight(24, '-'));
        Console.WriteLine($"Grand total:\t{billTotal + tip,8:c}");
    }
}

/*
>tipcalc 52.23

Bill total:       $52.23
Tip total/rate:    $9.40 (18.0 %)
------------------------
Grand total:      $61.63
*/
open System

let tipRate = 0.18

let args = Environment.GetCommandLineArgs()[1..] 

if args.Length = 0 then 
    Console.WriteLine "usage: TIPCALC total"
else
    match Double.TryParse args[0] with
    | true, billTotal ->
        let tip = billTotal * tipRate
        Console.WriteLine()
        Console.WriteLine $"Bill total:\t{billTotal,8:c}" 
        Console.WriteLine $"Tip total/rate:\t{tip,8:c} ({tipRate:p1})"
        Console.WriteLine("".PadRight(24, '-'))
        Console.WriteLine $"Grand total:\t{billTotal + tip,8:c}" 
    | _ ->
        Console.WriteLine "usage: TIPCALC total"

// >tipcalc 52.23
//
// Bill total:       $52.23
// Tip total/rate:    $9.40 (18.0 %)
// ------------------------
// Grand total:      $61.63
Public Module TipCalculator
    Private Const tipRate As Double = 0.18
   
    Public Sub Main(args As String())
        Dim billTotal As Double
        If (args.Length = 0) OrElse (Not Double.TryParse(args(0), billTotal)) Then
            Console.WriteLine("usage: TIPCALC total")
            Return
        End If

        Dim tip As Double = billTotal * tipRate
        Console.WriteLine()
        Console.WriteLine($"Bill total:{vbTab}{billTotal,8:c}")
        Console.WriteLine($"Tip total/rate:{vbTab}{tip,8:c} ({tipRate:p1})")
        Console.WriteLine("".PadRight(24, "-"c))
        Console.WriteLine($"Grand total:{vbTab}{billTotal + tip,8:c}")
    End Sub

End Module

'Example Output:
'---------------
' >tipcalc 52.23
' 
' Bill total:       $52.23
' Tip total/rate:    $9.40 (18.0 %)
' ------------------------
' Grand total:      $61.63

Remarks

The text representation of value is produced by calling the Double.ToString method.

For more information about the line terminator, see the Remarks section of the WriteLine method that takes no parameters.

See also

Applies to

WriteLine(Char[])

Writes the specified array of Unicode characters, followed by the current line terminator, to the standard output stream.

public:
 static void WriteLine(cli::array <char> ^ buffer);
public static void WriteLine (char[]? buffer);
public static void WriteLine (char[] buffer);
static member WriteLine : char[] -> unit
Public Shared Sub WriteLine (buffer As Char())

Parameters

buffer
Char[]

A Unicode character array.

Exceptions

An I/O error occurred.

Remarks

For more information about the line terminator, see the Remarks section of the WriteLine method that takes no parameters.

See also

Applies to

WriteLine(Char)

Writes the specified Unicode character, followed by the current line terminator, value to the standard output stream.

public:
 static void WriteLine(char value);
public static void WriteLine (char value);
static member WriteLine : char -> unit
Public Shared Sub WriteLine (value As Char)

Parameters

value
Char

The value to write.

Exceptions

An I/O error occurred.

Examples

The following example is a tip calculator that calculates an 18% tip and uses the WriteLine method to display the amount of the original charge, the amount of the tip, and the total amount. The example is a console application that requires the user to supply the amount of the original charge as a command-line parameter.

using System;

public class TipCalculator
{
    private const double tipRate = 0.18;
    public static void Main(string[] args)
    {
        double billTotal;
        if (args.Length == 0 || ! Double.TryParse(args[0], out billTotal))
        {
            Console.WriteLine("usage: TIPCALC total");
            return;
        }
        double tip = billTotal * tipRate;
        Console.WriteLine();
        Console.WriteLine($"Bill total:\t{billTotal,8:c}");
        Console.WriteLine($"Tip total/rate:\t{tip,8:c} ({tipRate:p1})");
        Console.WriteLine(("").PadRight(24, '-'));
        Console.WriteLine($"Grand total:\t{billTotal + tip,8:c}");
    }
}

/*
>tipcalc 52.23

Bill total:       $52.23
Tip total/rate:    $9.40 (18.0 %)
------------------------
Grand total:      $61.63
*/
open System

let tipRate = 0.18

let args = Environment.GetCommandLineArgs()[1..] 

if args.Length = 0 then 
    Console.WriteLine "usage: TIPCALC total"
else
    match Double.TryParse args[0] with
    | true, billTotal ->
        let tip = billTotal * tipRate
        Console.WriteLine()
        Console.WriteLine $"Bill total:\t{billTotal,8:c}" 
        Console.WriteLine $"Tip total/rate:\t{tip,8:c} ({tipRate:p1})"
        Console.WriteLine("".PadRight(24, '-'))
        Console.WriteLine $"Grand total:\t{billTotal + tip,8:c}" 
    | _ ->
        Console.WriteLine "usage: TIPCALC total"

// >tipcalc 52.23
//
// Bill total:       $52.23
// Tip total/rate:    $9.40 (18.0 %)
// ------------------------
// Grand total:      $61.63
Public Module TipCalculator
    Private Const tipRate As Double = 0.18
   
    Public Sub Main(args As String())
        Dim billTotal As Double
        If (args.Length = 0) OrElse (Not Double.TryParse(args(0), billTotal)) Then
            Console.WriteLine("usage: TIPCALC total")
            Return
        End If

        Dim tip As Double = billTotal * tipRate
        Console.WriteLine()
        Console.WriteLine($"Bill total:{vbTab}{billTotal,8:c}")
        Console.WriteLine($"Tip total/rate:{vbTab}{tip,8:c} ({tipRate:p1})")
        Console.WriteLine("".PadRight(24, "-"c))
        Console.WriteLine($"Grand total:{vbTab}{billTotal + tip,8:c}")
    End Sub

End Module

'Example Output:
'---------------
' >tipcalc 52.23
' 
' Bill total:       $52.23
' Tip total/rate:    $9.40 (18.0 %)
' ------------------------
' Grand total:      $61.63

Remarks

For more information about the line terminator, see the Remarks section of the WriteLine method that takes no parameters.

See also

Applies to

WriteLine(Boolean)

Writes the text representation of the specified Boolean value, followed by the current line terminator, to the standard output stream.

public:
 static void WriteLine(bool value);
public static void WriteLine (bool value);
static member WriteLine : bool -> unit
Public Shared Sub WriteLine (value As Boolean)

Parameters

value
Boolean

The value to write.

Exceptions

An I/O error occurred.

Examples

The following example generates ten random integers and uses the Console.WriteLine(Boolean) method to indicate whether they are even.

using namespace System;

void main()
{
   // Assign 10 random integers to an array.
   Random^ rnd = gcnew Random();
   array<Int32>^ numbers = gcnew array<Int32>(10); 
   for (int ctr = 0; ctr <= numbers->GetUpperBound(0); ctr++)
      numbers[ctr] = rnd->Next();

   // Determine whether the numbers are even or odd.
   for each (Int32 number in numbers) {
      bool even = (number % 2 == 0);
      Console::WriteLine("Is {0} even:", number);
      Console::WriteLine(even);
      Console::WriteLine();      
   }
}
// Assign 10 random integers to an array.
Random rnd = new Random();
int[] numbers = new int[10];
for (int ctr = 0; ctr <= numbers.GetUpperBound(0); ctr++)
   numbers[ctr] = rnd.Next();

// Determine whether the numbers are even or odd.
foreach (var number in numbers) {
   bool even = (number % 2 == 0);
   Console.WriteLine("Is {0} even:", number);
   Console.WriteLine(even);
   Console.WriteLine();
}
// Assign 10 random integers to an array.
let rnd = Random()
let numbers = 
    [ for _ = 0 to 9 do
        rnd.Next()]

// Determine whether the numbers are even or odd.
for number in numbers do
    let even = number % 2 = 0
    Console.WriteLine $"Is {number} even:"
    Console.WriteLine even
    Console.WriteLine()
Module Example
   Public Sub Main()
      ' Assign 10 random integers to an array.
      Dim rnd As New Random()
      Dim numbers(9) As Integer
      For ctr As Integer = 0 To numbers.GetUpperBound(0)
         numbers(ctr) = rnd.Next
      Next
      
      ' Determine whether the numbers are even or odd.
      For Each number In numbers
         Dim even As Boolean = (number mod 2 = 0)
         Console.WriteLine("Is {0} even:", number)
         Console.WriteLine(even)
         Console.WriteLine()      
      Next
   End Sub
End Module

Remarks

The text representation of value is produced by calling the Boolean.ToString method.

For more information about the line terminator, see the Remarks section of the WriteLine method that takes no parameters.

See also

Applies to

WriteLine()

Writes the current line terminator to the standard output stream.

public:
 static void WriteLine();
public static void WriteLine ();
static member WriteLine : unit -> unit
Public Shared Sub WriteLine ()

Exceptions

An I/O error occurred.

Examples

The example changes the line terminator from its default value of "\r\n" or vbCrLf to "\r\n\r\n" or vbCrLf + vbCrLf. It then calls the WriteLine() and WriteLine(String) methods to display output to the console.

using namespace System;

void main()
{
   array<String^>^ lines = gcnew array<String^> { "This is the first line.", 
                                                  "This is the second line." };
   // Output the lines using the default newline sequence.
   Console::WriteLine("With the default new line characters:");
   Console::WriteLine();
   for each (String^ line in lines)
      Console::WriteLine(line);

   Console::WriteLine();

   // Redefine the newline characters to double space.
   Console::Out->NewLine = "\r\n\r\n";
   // Output the lines using the new newline sequence.
   Console::WriteLine("With redefined new line characters:");
   Console::WriteLine();
   for each (String^ line in lines)
      Console::WriteLine(line);
}
// The example displays the following output:
//       With the default new line characters:
//       
//       This is the first line.
//       This is the second line.
//       
//       With redefined new line characters:
//       
//       
//       
//       This is the first line.
//       
//       This is the second line.
string[] lines = { "This is the first line.",
                   "This is the second line." };
// Output the lines using the default newline sequence.
Console.WriteLine("With the default new line characters:");
Console.WriteLine();
foreach (string line in lines)
   Console.WriteLine(line);

Console.WriteLine();

// Redefine the newline characters to double space.
Console.Out.NewLine = "\r\n\r\n";
// Output the lines using the new newline sequence.
Console.WriteLine("With redefined new line characters:");
Console.WriteLine();
foreach (string line in lines)
   Console.WriteLine(line);

// The example displays the following output:
//       With the default new line characters:
//
//       This is the first line.
//       This is the second line.
//
//       With redefined new line characters:
//
//
//
//       This is the first line.
//
//       This is the second line.
let lines = 
    [ "This is the first line."
      "This is the second line." ]
      
// Output the lines using the default newline sequence.
Console.WriteLine "With the default new line characters:"
Console.WriteLine()
for line in lines do
    Console.WriteLine line

Console.WriteLine()

// Redefine the newline characters to double space.
Console.Out.NewLine <- "\r\n\r\n"
// Output the lines using the new newline sequence.
Console.WriteLine "With redefined new line characters:"
Console.WriteLine()
for line in lines do
    Console.WriteLine line

// The example displays the following output:
//       With the default new line characters:
//
//       This is the first line.
//       This is the second line.
//
//       With redefined new line characters:
//
//
//
//       This is the first line.
//
//       This is the second line.
Module Example
   Public Sub Main()
      Dim lines() As String = { "This is the first line.", _
                                "This is the second line." }
      ' Output the lines using the default newline sequence.
      Console.WriteLine("With the default new line characters:")
      Console.WriteLine()
      For Each line As String In lines
         Console.WriteLine(line)
      Next
      Console.WriteLine()
      
      ' Redefine the newline characters to double space.
      Console.Out.NewLine = vbCrLf + vbCrLf
      ' Output the lines using the new newline sequence.
      Console.WriteLine("With redefined new line characters:")
      Console.WriteLine()
      For Each line As String In lines
         Console.WriteLine(line)
      Next
   End Sub
End Module
' The example displays the following output:
'       With the default new line characters:
'       
'       This is the first line.
'       This is the second line.
'       
'       With redefined new line characters:
'       
'       
'       
'       This is the first line.
'       
'       This is the second line.

Remarks

The default line terminator is a string whose value is a carriage return followed by a line feed ("\r\n" in C#, or vbCrLf in Visual Basic). You can change the line terminator by setting the TextWriter.NewLine property of the Out property to another string. The example provides an illustration.

See also

Applies to

WriteLine(String, Object, Object, Object)

Writes the text representation of the specified objects, followed by the current line terminator, to the standard output stream using the specified format information.

public:
 static void WriteLine(System::String ^ format, System::Object ^ arg0, System::Object ^ arg1, System::Object ^ arg2);
public static void WriteLine (string format, object? arg0, object? arg1, object? arg2);
public static void WriteLine (string format, object arg0, object arg1, object arg2);
static member WriteLine : string * obj * obj * obj -> unit
Public Shared Sub WriteLine (format As String, arg0 As Object, arg1 As Object, arg2 As Object)

Parameters

format
String

A composite format string.

arg0
Object

The first object to write using format.

arg1
Object

The second object to write using format.

arg2
Object

The third object to write using format.

Exceptions

An I/O error occurred.

format is null.

The format specification in format is invalid.

Examples

The following example demonstrates the standard formatting specifiers for numbers, dates, and enumerations.

// This code example demonstrates the Console.WriteLine() method.
// Formatting for this example uses the "en-US" culture.

using namespace System;

public enum class Color {Yellow = 1, Blue, Green};

int main() 
{
    DateTime thisDate = DateTime::Now;
    Console::Clear();

    // Format a negative integer or floating-point number in various ways.
    Console::WriteLine("Standard Numeric Format Specifiers");
    Console::WriteLine(
        "(C) Currency: . . . . . . . . {0:C}\n" +
        "(D) Decimal:. . . . . . . . . {0:D}\n" +
        "(E) Scientific: . . . . . . . {1:E}\n" +
        "(F) Fixed point:. . . . . . . {1:F}\n" +
        "(G) General:. . . . . . . . . {0:G}\n" +
        "    (default):. . . . . . . . {0} (default = 'G')\n" +
        "(N) Number: . . . . . . . . . {0:N}\n" +
        "(P) Percent:. . . . . . . . . {1:P}\n" +
        "(R) Round-trip: . . . . . . . {1:R}\n" +
        "(X) Hexadecimal:. . . . . . . {0:X}\n",
        -123, -123.45f); 

    // Format the current date in various ways.
    Console::WriteLine("Standard DateTime Format Specifiers");
    Console::WriteLine(
        "(d) Short date: . . . . . . . {0:d}\n" +
        "(D) Long date:. . . . . . . . {0:D}\n" +
        "(t) Short time: . . . . . . . {0:t}\n" +
        "(T) Long time:. . . . . . . . {0:T}\n" +
        "(f) Full date/short time: . . {0:f}\n" +
        "(F) Full date/long time:. . . {0:F}\n" +
        "(g) General date/short time:. {0:g}\n" +
        "(G) General date/long time: . {0:G}\n" +
        "    (default):. . . . . . . . {0} (default = 'G')\n" +
        "(M) Month:. . . . . . . . . . {0:M}\n" +
        "(R) RFC1123:. . . . . . . . . {0:R}\n" +
        "(s) Sortable: . . . . . . . . {0:s}\n" +
        "(u) Universal sortable: . . . {0:u} (invariant)\n" +
        "(U) Universal full date/time: {0:U}\n" +
        "(Y) Year: . . . . . . . . . . {0:Y}\n", 
        thisDate);

    // Format a Color enumeration value in various ways.
    Console::WriteLine("Standard Enumeration Format Specifiers");
    Console::WriteLine(
        "(G) General:. . . . . . . . . {0:G}\n" +
        "    (default):. . . . . . . . {0} (default = 'G')\n" +
        "(F) Flags:. . . . . . . . . . {0:F} (flags or integer)\n" +
        "(D) Decimal number: . . . . . {0:D}\n" +
        "(X) Hexadecimal:. . . . . . . {0:X}\n", 
        Color::Green);       

};


/*
This code example produces the following results:

Standard Numeric Format Specifiers
(C) Currency: . . . . . . . . ($123.00)
(D) Decimal:. . . . . . . . . -123
(E) Scientific: . . . . . . . -1.234500E+002
(F) Fixed point:. . . . . . . -123.45
(G) General:. . . . . . . . . -123
(default):. . . . . . . . -123 (default = 'G')
(N) Number: . . . . . . . . . -123.00
(P) Percent:. . . . . . . . . -12,345.00 %
(R) Round-trip: . . . . . . . -123.45
(X) Hexadecimal:. . . . . . . FFFFFF85

Standard DateTime Format Specifiers
(d) Short date: . . . . . . . 6/26/2004
(D) Long date:. . . . . . . . Saturday, June 26, 2004
(t) Short time: . . . . . . . 8:11 PM
(T) Long time:. . . . . . . . 8:11:04 PM
(f) Full date/short time: . . Saturday, June 26, 2004 8:11 PM
(F) Full date/long time:. . . Saturday, June 26, 2004 8:11:04 PM
(g) General date/short time:. 6/26/2004 8:11 PM
(G) General date/long time: . 6/26/2004 8:11:04 PM
(default):. . . . . . . . 6/26/2004 8:11:04 PM (default = 'G')
(M) Month:. . . . . . . . . . June 26
(R) RFC1123:. . . . . . . . . Sat, 26 Jun 2004 20:11:04 GMT
(s) Sortable: . . . . . . . . 2004-06-26T20:11:04
(u) Universal sortable: . . . 2004-06-26 20:11:04Z (invariant)
(U) Universal full date/time: Sunday, June 27, 2004 3:11:04 AM
(Y) Year: . . . . . . . . . . June, 2004

Standard Enumeration Format Specifiers
(G) General:. . . . . . . . . Green
(default):. . . . . . . . Green (default = 'G')
(F) Flags:. . . . . . . . . . Green (flags or integer)
(D) Decimal number: . . . . . 3
(X) Hexadecimal:. . . . . . . 00000003

*/
// This code example demonstrates the Console.WriteLine() method.
// Formatting for this example uses the "en-US" culture.

using System;
class Sample
{
    enum Color {Yellow = 1, Blue, Green};
    static DateTime thisDate = DateTime.Now;

    public static void Main()
    {
        Console.Clear();

        // Format a negative integer or floating-point number in various ways.
        Console.WriteLine("Standard Numeric Format Specifiers");
        Console.WriteLine(
            "(C) Currency: . . . . . . . . {0:C}\n" +
            "(D) Decimal:. . . . . . . . . {0:D}\n" +
            "(E) Scientific: . . . . . . . {1:E}\n" +
            "(F) Fixed point:. . . . . . . {1:F}\n" +
            "(G) General:. . . . . . . . . {0:G}\n" +
            "    (default):. . . . . . . . {0} (default = 'G')\n" +
            "(N) Number: . . . . . . . . . {0:N}\n" +
            "(P) Percent:. . . . . . . . . {1:P}\n" +
            "(R) Round-trip: . . . . . . . {1:R}\n" +
            "(X) Hexadecimal:. . . . . . . {0:X}\n",
            -123, -123.45f);

        // Format the current date in various ways.
        Console.WriteLine("Standard DateTime Format Specifiers");
        Console.WriteLine(
            "(d) Short date: . . . . . . . {0:d}\n" +
            "(D) Long date:. . . . . . . . {0:D}\n" +
            "(t) Short time: . . . . . . . {0:t}\n" +
            "(T) Long time:. . . . . . . . {0:T}\n" +
            "(f) Full date/short time: . . {0:f}\n" +
            "(F) Full date/long time:. . . {0:F}\n" +
            "(g) General date/short time:. {0:g}\n" +
            "(G) General date/long time: . {0:G}\n" +
            "    (default):. . . . . . . . {0} (default = 'G')\n" +
            "(M) Month:. . . . . . . . . . {0:M}\n" +
            "(R) RFC1123:. . . . . . . . . {0:R}\n" +
            "(s) Sortable: . . . . . . . . {0:s}\n" +
            "(u) Universal sortable: . . . {0:u} (invariant)\n" +
            "(U) Universal full date/time: {0:U}\n" +
            "(Y) Year: . . . . . . . . . . {0:Y}\n",
            thisDate);

        // Format a Color enumeration value in various ways.
        Console.WriteLine("Standard Enumeration Format Specifiers");
        Console.WriteLine(
            "(G) General:. . . . . . . . . {0:G}\n" +
            "    (default):. . . . . . . . {0} (default = 'G')\n" +
            "(F) Flags:. . . . . . . . . . {0:F} (flags or integer)\n" +
            "(D) Decimal number: . . . . . {0:D}\n" +
            "(X) Hexadecimal:. . . . . . . {0:X}\n",
            Color.Green);
    }
}
/*
This code example produces the following results:

Standard Numeric Format Specifiers
(C) Currency: . . . . . . . . ($123.00)
(D) Decimal:. . . . . . . . . -123
(E) Scientific: . . . . . . . -1.234500E+002
(F) Fixed point:. . . . . . . -123.45
(G) General:. . . . . . . . . -123
    (default):. . . . . . . . -123 (default = 'G')
(N) Number: . . . . . . . . . -123.00
(P) Percent:. . . . . . . . . -12,345.00 %
(R) Round-trip: . . . . . . . -123.45
(X) Hexadecimal:. . . . . . . FFFFFF85

Standard DateTime Format Specifiers
(d) Short date: . . . . . . . 6/26/2004
(D) Long date:. . . . . . . . Saturday, June 26, 2004
(t) Short time: . . . . . . . 8:11 PM
(T) Long time:. . . . . . . . 8:11:04 PM
(f) Full date/short time: . . Saturday, June 26, 2004 8:11 PM
(F) Full date/long time:. . . Saturday, June 26, 2004 8:11:04 PM
(g) General date/short time:. 6/26/2004 8:11 PM
(G) General date/long time: . 6/26/2004 8:11:04 PM
    (default):. . . . . . . . 6/26/2004 8:11:04 PM (default = 'G')
(M) Month:. . . . . . . . . . June 26
(R) RFC1123:. . . . . . . . . Sat, 26 Jun 2004 20:11:04 GMT
(s) Sortable: . . . . . . . . 2004-06-26T20:11:04
(u) Universal sortable: . . . 2004-06-26 20:11:04Z (invariant)
(U) Universal full date/time: Sunday, June 27, 2004 3:11:04 AM
(Y) Year: . . . . . . . . . . June, 2004

Standard Enumeration Format Specifiers
(G) General:. . . . . . . . . Green
    (default):. . . . . . . . Green (default = 'G')
(F) Flags:. . . . . . . . . . Green (flags or integer)
(D) Decimal number: . . . . . 3
(X) Hexadecimal:. . . . . . . 00000003

*/
// This code example demonstrates the Console.WriteLine() method.
// Formatting for this example uses the "en-US" culture.

open System

type Color = 
    | Yellow = 1
    | Blue = 2
    | Green = 3

let thisDate = DateTime.Now

Console.Clear()

// Format a negative integer or floating-point number in various ways.
Console.WriteLine "Standard Numeric Format Specifiers"
Console.WriteLine(
    "(C) Currency: . . . . . . . . {0:C}\n" +
    "(D) Decimal:. . . . . . . . . {0:D}\n" +
    "(E) Scientific: . . . . . . . {1:E}\n" +
    "(F) Fixed point:. . . . . . . {1:F}\n" +
    "(G) General:. . . . . . . . . {0:G}\n" +
    "    (default):. . . . . . . . {0} (default = 'G')\n" +
    "(N) Number: . . . . . . . . . {0:N}\n" +
    "(P) Percent:. . . . . . . . . {1:P}\n" +
    "(R) Round-trip: . . . . . . . {1:R}\n" +
    "(X) Hexadecimal:. . . . . . . {0:X}\n",
    -123, -123.45f)

// Format the current date in various ways.
Console.WriteLine "Standard DateTime Format Specifiers"
Console.WriteLine(
    "(d) Short date: . . . . . . . {0:d}\n" +
    "(D) Long date:. . . . . . . . {0:D}\n" +
    "(t) Short time: . . . . . . . {0:t}\n" +
    "(T) Long time:. . . . . . . . {0:T}\n" +
    "(f) Full date/short time: . . {0:f}\n" +
    "(F) Full date/long time:. . . {0:F}\n" +
    "(g) General date/short time:. {0:g}\n" +
    "(G) General date/long time: . {0:G}\n" +
    "    (default):. . . . . . . . {0} (default = 'G')\n" +
    "(M) Month:. . . . . . . . . . {0:M}\n" +
    "(R) RFC1123:. . . . . . . . . {0:R}\n" +
    "(s) Sortable: . . . . . . . . {0:s}\n" +
    "(u) Universal sortable: . . . {0:u} (invariant)\n" +
    "(U) Universal full date/time: {0:U}\n" +
    "(Y) Year: . . . . . . . . . . {0:Y}\n",
    thisDate)

// Format a Color enumeration value in various ways.
Console.WriteLine "Standard Enumeration Format Specifiers"
Console.WriteLine(
    "(G) General:. . . . . . . . . {0:G}\n" +
    "    (default):. . . . . . . . {0} (default = 'G')\n" +
    "(F) Flags:. . . . . . . . . . {0:F} (flags or integer)\n" +
    "(D) Decimal number: . . . . . {0:D}\n" +
    "(X) Hexadecimal:. . . . . . . {0:X}\n",
    Color.Green)


// This code example produces the following results:
//
// Standard Numeric Format Specifiers
// (C) Currency: . . . . . . . . ($123.00)
// (D) Decimal:. . . . . . . . . -123
// (E) Scientific: . . . . . . . -1.234500E+002
// (F) Fixed point:. . . . . . . -123.45
// (G) General:. . . . . . . . . -123
//     (default):. . . . . . . . -123 (default = 'G')
// (N) Number: . . . . . . . . . -123.00
// (P) Percent:. . . . . . . . . -12,345.00 %
// (R) Round-trip: . . . . . . . -123.45
// (X) Hexadecimal:. . . . . . . FFFFFF85
//
// Standard DateTime Format Specifiers
// (d) Short date: . . . . . . . 6/26/2004
// (D) Long date:. . . . . . . . Saturday, June 26, 2004
// (t) Short time: . . . . . . . 8:11 PM
// (T) Long time:. . . . . . . . 8:11:04 PM
// (f) Full date/short time: . . Saturday, June 26, 2004 8:11 PM
// (F) Full date/long time:. . . Saturday, June 26, 2004 8:11:04 PM
// (g) General date/short time:. 6/26/2004 8:11 PM
// (G) General date/long time: . 6/26/2004 8:11:04 PM
//     (default):. . . . . . . . 6/26/2004 8:11:04 PM (default = 'G')
// (M) Month:. . . . . . . . . . June 26
// (R) RFC1123:. . . . . . . . . Sat, 26 Jun 2004 20:11:04 GMT
// (s) Sortable: . . . . . . . . 2004-06-26T20:11:04
// (u) Universal sortable: . . . 2004-06-26 20:11:04Z (invariant)
// (U) Universal full date/time: Sunday, June 27, 2004 3:11:04 AM
// (Y) Year: . . . . . . . . . . June, 2004
//
// Standard Enumeration Format Specifiers
// (G) General:. . . . . . . . . Green
//     (default):. . . . . . . . Green (default = 'G')
// (F) Flags:. . . . . . . . . . Green (flags or integer)
// (D) Decimal number: . . . . . 3
// (X) Hexadecimal:. . . . . . . 00000003
' This code example demonstrates the Console.WriteLine() method.
' Formatting for this example uses the "en-US" culture.

Class Sample
   Public Enum Color
      Yellow = 1
      Blue = 2
      Green = 3
   End Enum 'Color
   Private Shared thisDate As DateTime = DateTime.Now
   
   Public Shared Sub Main()
      Console.Clear()

      ' Format a negative integer or floating-point number in various ways.
      Console.WriteLine("Standard Numeric Format Specifiers")
      Console.WriteLine("(C) Currency: . . . . . . . . {0:C}" & vbCrLf & _
                        "(D) Decimal:. . . . . . . . . {0:D}" & vbCrLf & _
                        "(E) Scientific: . . . . . . . {1:E}" & vbCrLf & _
                        "(F) Fixed point:. . . . . . . {1:F}" & vbCrLf & _
                        "(G) General:. . . . . . . . . {0:G}" & vbCrLf & _
                        "    (default):. . . . . . . . {0} (default = 'G')" & vbCrLf & _
                        "(N) Number: . . . . . . . . . {0:N}" & vbCrLf & _
                        "(P) Percent:. . . . . . . . . {1:P}" & vbCrLf & _
                        "(R) Round-trip: . . . . . . . {1:R}" & vbCrLf & _
                        "(X) Hexadecimal:. . . . . . . {0:X}" & vbCrLf, _
                        - 123, - 123.45F)

      ' Format the current date in various ways.
      Console.WriteLine("Standard DateTime Format Specifiers")
      Console.WriteLine("(d) Short date: . . . . . . . {0:d}" & vbCrLf & _
                        "(D) Long date:. . . . . . . . {0:D}" & vbCrLf & _
                        "(t) Short time: . . . . . . . {0:t}" & vbCrLf & _
                        "(T) Long time:. . . . . . . . {0:T}" & vbCrLf & _
                        "(f) Full date/short time: . . {0:f}" & vbCrLf & _
                        "(F) Full date/long time:. . . {0:F}" & vbCrLf & _
                        "(g) General date/short time:. {0:g}" & vbCrLf & _
                        "(G) General date/long time: . {0:G}" & vbCrLf & _
                        "    (default):. . . . . . . . {0} (default = 'G')" & vbCrLf & _
                        "(M) Month:. . . . . . . . . . {0:M}" & vbCrLf & _
                        "(R) RFC1123:. . . . . . . . . {0:R}" & vbCrLf & _
                        "(s) Sortable: . . . . . . . . {0:s}" & vbCrLf & _
                        "(u) Universal sortable: . . . {0:u} (invariant)" & vbCrLf & _
                        "(U) Universal full date/time: {0:U}" & vbCrLf & _
                        "(Y) Year: . . . . . . . . . . {0:Y}" & vbCrLf, _
                        thisDate)

      ' Format a Color enumeration value in various ways.
      Console.WriteLine("Standard Enumeration Format Specifiers")
      Console.WriteLine("(G) General:. . . . . . . . . {0:G}" & vbCrLf & _
                        "    (default):. . . . . . . . {0} (default = 'G')" & vbCrLf & _
                        "(F) Flags:. . . . . . . . . . {0:F} (flags or integer)" & vbCrLf & _
                        "(D) Decimal number: . . . . . {0:D}" & vbCrLf & _
                        "(X) Hexadecimal:. . . . . . . {0:X}" & vbCrLf, _
                        Color.Green)
   End Sub
End Class
'
'This code example produces the following results:
'
'Standard Numeric Format Specifiers
'(C) Currency: . . . . . . . . ($123.00)
'(D) Decimal:. . . . . . . . . -123
'(E) Scientific: . . . . . . . -1.234500E+002
'(F) Fixed point:. . . . . . . -123.45
'(G) General:. . . . . . . . . -123
'    (default):. . . . . . . . -123 (default = 'G')
'(N) Number: . . . . . . . . . -123.00
'(P) Percent:. . . . . . . . . -12,345.00 %
'(R) Round-trip: . . . . . . . -123.45
'(X) Hexadecimal:. . . . . . . FFFFFF85
'
'Standard DateTime Format Specifiers
'(d) Short date: . . . . . . . 6/26/2004
'(D) Long date:. . . . . . . . Saturday, June 26, 2004
'(t) Short time: . . . . . . . 8:11 PM
'(T) Long time:. . . . . . . . 8:11:04 PM
'(f) Full date/short time: . . Saturday, June 26, 2004 8:11 PM
'(F) Full date/long time:. . . Saturday, June 26, 2004 8:11:04 PM
'(g) General date/short time:. 6/26/2004 8:11 PM
'(G) General date/long time: . 6/26/2004 8:11:04 PM
'    (default):. . . . . . . . 6/26/2004 8:11:04 PM (default = 'G')
'(M) Month:. . . . . . . . . . June 26
'(R) RFC1123:. . . . . . . . . Sat, 26 Jun 2004 20:11:04 GMT
'(s) Sortable: . . . . . . . . 2004-06-26T20:11:04
'(u) Universal sortable: . . . 2004-06-26 20:11:04Z (invariant)
'(U) Universal full date/time: Sunday, June 27, 2004 3:11:04 AM
'(Y) Year: . . . . . . . . . . June, 2004
'
'Standard Enumeration Format Specifiers
'(G) General:. . . . . . . . . Green
'    (default):. . . . . . . . Green (default = 'G')
'(F) Flags:. . . . . . . . . . Green (flags or integer)
'(D) Decimal number: . . . . . 3
'(X) Hexadecimal:. . . . . . . 00000003
'

The following example is a tip calculator that calculates an 18% tip and uses the WriteLine method to display the amount of the original charge, the amount of the tip, and the total amount. The example is a console application that requires the user to supply the amount of the original charge as a command-line parameter.

using System;

public class TipCalculator
{
    private const double tipRate = 0.18;
    public static void Main(string[] args)
    {
        double billTotal;
        if (args.Length == 0 || ! Double.TryParse(args[0], out billTotal))
        {
            Console.WriteLine("usage: TIPCALC total");
            return;
        }
        double tip = billTotal * tipRate;
        Console.WriteLine();
        Console.WriteLine($"Bill total:\t{billTotal,8:c}");
        Console.WriteLine($"Tip total/rate:\t{tip,8:c} ({tipRate:p1})");
        Console.WriteLine(("").PadRight(24, '-'));
        Console.WriteLine($"Grand total:\t{billTotal + tip,8:c}");
    }
}

/*
>tipcalc 52.23

Bill total:       $52.23
Tip total/rate:    $9.40 (18.0 %)
------------------------
Grand total:      $61.63
*/
open System

let tipRate = 0.18

let args = Environment.GetCommandLineArgs()[1..] 

if args.Length = 0 then 
    Console.WriteLine "usage: TIPCALC total"
else
    match Double.TryParse args[0] with
    | true, billTotal ->
        let tip = billTotal * tipRate
        Console.WriteLine()
        Console.WriteLine $"Bill total:\t{billTotal,8:c}" 
        Console.WriteLine $"Tip total/rate:\t{tip,8:c} ({tipRate:p1})"
        Console.WriteLine("".PadRight(24, '-'))
        Console.WriteLine $"Grand total:\t{billTotal + tip,8:c}" 
    | _ ->
        Console.WriteLine "usage: TIPCALC total"

// >tipcalc 52.23
//
// Bill total:       $52.23
// Tip total/rate:    $9.40 (18.0 %)
// ------------------------
// Grand total:      $61.63
Public Module TipCalculator
    Private Const tipRate As Double = 0.18
   
    Public Sub Main(args As String())
        Dim billTotal As Double
        If (args.Length = 0) OrElse (Not Double.TryParse(args(0), billTotal)) Then
            Console.WriteLine("usage: TIPCALC total")
            Return
        End If

        Dim tip As Double = billTotal * tipRate
        Console.WriteLine()
        Console.WriteLine($"Bill total:{vbTab}{billTotal,8:c}")
        Console.WriteLine($"Tip total/rate:{vbTab}{tip,8:c} ({tipRate:p1})")
        Console.WriteLine("".PadRight(24, "-"c))
        Console.WriteLine($"Grand total:{vbTab}{billTotal + tip,8:c}")
    End Sub

End Module

'Example Output:
'---------------
' >tipcalc 52.23
' 
' Bill total:       $52.23
' Tip total/rate:    $9.40 (18.0 %)
' ------------------------
' Grand total:      $61.63

Remarks

This method uses the composite formatting feature of .NET to convert the value of an object to its text representation and embed that representation in a string. The resulting string is written to the output stream.

The format parameter consists of zero or more runs of text intermixed with zero or more indexed placeholders, called format items, that correspond to an object in the parameter list of this method. The formatting process replaces each format item with the text representation of the value of the corresponding object.

The syntax of a format item is {index[,alignment][:formatString]}, which specifies a mandatory index, the optional length and alignment of the formatted text, and an optional string of format specifier characters that govern how the value of the corresponding object is formatted.

.NET provides extensive formatting support, which is described in greater detail in the following formatting topics.

For more information about the line terminator, see the Remarks section of the WriteLine method that takes no parameters.

See also

Applies to

WriteLine(Object)

Writes the text representation of the specified object, followed by the current line terminator, to the standard output stream.

public:
 static void WriteLine(System::Object ^ value);
public static void WriteLine (object? value);
public static void WriteLine (object value);
static member WriteLine : obj -> unit
Public Shared Sub WriteLine (value As Object)

Parameters

value
Object

The value to write.

Exceptions

An I/O error occurred.

Examples

The following example uses the WriteLine(Object) method to display each value in an object array to the console.

using namespace System;

void main()
{
   array<Object^>^ values = { true, 12.632, 17908, "stringValue",
                              'a', (Decimal) 16907.32 };
   for each (Object^ value in values)
      Console::WriteLine(value);
}
// The example displays the following output:
//    True
//    12.632
//    17908
//    stringValue
//    a
//    16907.32
Object[] values = { true, 12.632, 17908, "stringValue",
                           'a', 16907.32m };
foreach (var value in values)
   Console.WriteLine(value);

// The example displays the following output:
//    True
//    12.632
//    17908
//    stringValue
//    a
//    16907.32
let values: obj [] = 
    [| true; 12.632; 17908; "stringValue"; 'a'; 16907.32M |]

for value in values do
   Console.WriteLine value

// The example displays the following output:
//    True
//    12.632
//    17908
//    stringValue
//    a
//    16907.32
Module Example
   Public Sub Main()
      Dim values() As Object = { True, 12.632, 17908, "stringValue",
                                 "a"c, 16907.32d }
      For Each value In values
         Console.WriteLine(value)
      Next                           
   End Sub
End Module
' The example displays the following output:
'    True
'    12.632
'    17908
'    stringValue
'    a
'    16907.32

Remarks

If value is null, only the line terminator is written. Otherwise, the ToString method of value is called to produce its string representation, and the resulting string is written to the standard output stream.

For more information about the line terminator, see the Remarks section of the WriteLine method that takes no parameters.

See also

Applies to

WriteLine(String, Object, Object, Object, Object)

Important

This API is not CLS-compliant.

Writes the text representation of the specified objects and variable-length parameter list, followed by the current line terminator, to the standard output stream using the specified format information.

public:
 static void WriteLine(System::String ^ format, System::Object ^ arg0, System::Object ^ arg1, System::Object ^ arg2, System::Object ^ arg3);
[System.CLSCompliant(false)]
public static void WriteLine (string format, object arg0, object arg1, object arg2, object arg3);
public static void WriteLine (string format, object arg0, object arg1, object arg2, object arg3);
[<System.CLSCompliant(false)>]
static member WriteLine : string * obj * obj * obj * obj -> unit
static member WriteLine : string * obj * obj * obj * obj -> unit
Public Shared Sub WriteLine (format As String, arg0 As Object, arg1 As Object, arg2 As Object, arg3 As Object)

Parameters

format
String

A composite format string.

arg0
Object

The first object to write using format.

arg1
Object

The second object to write using format.

arg2
Object

The third object to write using format.

arg3
Object

The fourth object to write using format.

Attributes

Exceptions

An I/O error occurred.

format is null.

The format specification in format is invalid.

Examples

The following example illustrates the use of variable arguments with the WriteLine(String, Object, Object, Object, Object) method. The method is called with a composite format string and five format items.

using namespace System;

int CountLetters(String^ value);
int CountWhitespace(String^ value);

void main()
{
   String^ value = "This is a test string.";
   
   
   Console::WriteLine("The string '{0}' consists of:" +
                      "{4}{1} characters{4}{2} letters{4}" +
                      "{3} white-space characters", 
                      value, value->Length, CountLetters(value), 
                      CountWhitespace(value), Environment::NewLine);
}

int CountLetters(String^ value)
{
   int nLetters = 0;
   for each (Char ch in value) {
      if (Char::IsLetter(ch))
         nLetters++;
   }
   return nLetters;
}

int CountWhitespace(String^ value)
{
   int nWhitespace = 0;
   for each (Char ch in value) {
      if (Char::IsWhiteSpace(ch))
         nWhitespace++;
   }
   return nWhitespace;
}
// The example displays the following output:
//    The string 'This is a test string.' consists of:
//    22 characters
//    17 letters
//    4 white-space characters

Remarks

Note

This API is not CLS-compliant. The CLS-compliant alternative is Console.WriteLine(String, Object[]). The C# and Visual Basic compilers automatically resolve a call to this method as a call to Console.WriteLine(String, Object[]).

This method uses the composite formatting feature of .NET to convert the value of an object to its text representation and embed that representation in a string. The resulting string is written to the output stream.

The format parameter consists of zero or more runs of text intermixed with zero or more indexed placeholders, called format items, that correspond to an object in the parameter list of this method. The formatting process replaces each format item with the text representation of the value of the corresponding object.

The syntax of a format item is {index[,alignment][:formatString]}, which specifies a mandatory index, the optional length and alignment of the formatted text, and an optional string of format specifier characters that govern how the value of the corresponding object is formatted.

.NET provides extensive formatting support, which is described in greater detail in the following formatting topics.

For more information about the line terminator, see the Remarks section of the WriteLine method that takes no parameters.

Notes to Callers

This method is marked with the vararg keyword, which means that it supports a variable number of parameters. The method can be called from Visual C++, but it cannot be called from C# or Visual Basic code. The C# and Visual Basic compilers resolve calls to WriteLine(String, Object, Object, Object, Object) as calls to WriteLine(String, Object[]).

See also

Applies to