0

{0}次のコードで使用した場合:

class Program
{
    double width;
    double height;

    public void getData() {
        Console.WriteLine("Enter Width:");
        width = Convert.ToDouble(Console.ReadLine());

        Console.WriteLine("Enter Height:");
        height = Convert.ToDouble(Console.ReadLine());
    }

    public double calcArea() {
        return width * height;
    }

    public void display() {
        Console.WriteLine("Area is : {0}",calcArea());
    }
}

class Area
{
    static void Main(string[] args)
    {
        Program p = new Program();
        p.getData();
        p.display();
    }
}

出力は次のとおりです。

幅を入力してください:
6
高さを入力してください:
9
面積: 54

そして、これで {0} を使用したとき:

class NewArea
{
    static void Main(String[] args) {
        double width;
        double height;
        double area;

        Console.WriteLine("Enter Width: ");
        width = Convert.ToDouble(Console.ReadLine());

        Console.WriteLine("Enter Height: ");
        height = Convert.ToDouble(Console.ReadLine());

        area = width * height;

        Console.WriteLine("Area is: {0}" +area);
    }
}

出力は

幅を入力してください:
4
高さを入力してください:
5
面積: {0}20

とは{0}どういう意味ですか?

4

6 に答える 6

6

使用したように、{0} には 2 つの異なる意味があります。

Console.WriteLine("領域: {0}",calcArea());

上記の文で {0} を指定すると、コンマの後に値 54 を指定するのと同じ文でコンマの後に何らかの値を指定できることを意味するため、コンソールはそれを計算し、その値を 0 に配置します。

同様の方法で、次のような多くの値を提供できます

Console.WriteLine("幅 {0} と高さ {1} の領域は {2}", 幅, 高さ, calcArea());

出力: 幅 4 と高さ 5 の領域は 20

別の行では、次のように使用しました

Console.WriteLine("領域: {0}" +領域);

このステートメント形式では、{0} の後にコンマが見つからなかったので、代わりに + エリアが見つかったので、変数エリアを値に置き換えて {0} を出力しました。これは、前のステートメントのようにコンマの後に指定する必要がある一致する値 {0} がないためです。 .

于 2014-11-09T06:41:59.913 に答える
1
String.Format(String,Object[])

String引数は明らかに文字列を取り、複数の値を挿入できますobjectが、これは必須ではありません。{0} は、最初のオブジェクト引数の値がそこに配置されることを示す方法にすぎません。同様に、{1} は 2 番目、{2} は 3 番目を意味します。配列インデックス構文を使用します。

あなたが書く場合:

String.Format("Value = {0}",val);

val値が 20 の整数の場合、出力は次のようになります。

「値=20」

しかし、あなたが書くなら

String.Format("Value = {0}"+val)

ToString()この場合、メソッドに 2 つの引数を与えるのではなく、"Value= {0}" 文字列と のメソッドの戻り値で構成される連結文字列を 1 つだけ与えますval

2 番目の引数がないため、{0} は文字列の単なる一部として扱われ、特別な意味を持つものとしては扱われません。そのため、出力は次のようになります: 値 = {0}20

于 2014-11-09T07:13:02.550 に答える