C#中的WriteLine方法

本文关键字:方法 WriteLine 中的 | 更新日期: 2023-09-27 17:58:42

是否{0}表示传递给writeLine方法参数的第一个参数"分子",{1}表示第二个参数"分母"?

另一个问题是,为什么该方法说参数#1和#2是对象?整数是原始数据类型。

我来自Java背景,因此方法描述似乎令人困惑。

using System;
    struct Fraction
    {
        public int denominator;
        public int numerator;
        public void Print()
        {
            Console.WriteLine("{0}/{1}", numerator, denominator);
            Console.ReadKey();
        }
    }
    public class structTest
    {
        public static void Main()
        {
            Fraction f; 
            f.numerator = 8;
            f.denominator = 6;
            f.Print();
        }
    }

C#中的WriteLine方法

第一个问题:是的。

第二个问题:

在C#基元(int、double等)中,它们只是.NET定义类型的别名。这就是为什么它们不是正确的"基元",因为它们实际上隐藏了标准类和结构。

因此intInt32等的别名

是的,参数的顺序取决于您的想法,因为WriteLine的重载接受params object[],这意味着一个对象实例数组,特殊情况下,这些项可以作为最后一个参数集合传递。

WriteLine接受带有某些重载的object,在这种情况下,这是因为A)类型很可能,而且通常是不同的,并且不知道先验,并且没有通用重载(这可能会使多个类型的事情变得复杂),和B)它无论如何都在对象上调用CCD_ 7,并且所有事物都是对象(这很重要)

然而,WriteLine方法存在明确接受intbooldecimaldouble等的过载。

  1. 是的。

    {0}是一个保留位置,用于填充第一个参数的任何值,{1}用于第二个参数,依此类推。列表项

  2. 在C#中,一切都是对象。有些是从结构中创建的(如int、double等),还有许多是从类中创建的。所以,如果你愿意,你实际上可以做这样的事情:

     int a = new int();
    

    你可以做这样的事情:

     string aString = a.ToString();