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#基元(int、double等)中,它们只是.NET定义类型的别名。这就是为什么它们不是正确的"基元",因为它们实际上隐藏了标准类和结构。
因此int
是Int32
等的别名
是的,参数的顺序取决于您的想法,因为WriteLine
的重载接受params object[]
,这意味着一个对象实例数组,特殊情况下,这些项可以作为最后一个参数集合传递。
WriteLine
接受带有某些重载的object
,在这种情况下,这是因为A)类型很可能,而且通常是不同的,并且不知道先验,并且没有通用重载(这可能会使多个类型的事情变得复杂),和B)它无论如何都在对象上调用CCD_ 7,并且所有事物都是对象(这很重要)。
然而,WriteLine
方法存在明确接受int
、bool
、decimal
、double
等的过载。
-
是的。
{0}是一个保留位置,用于填充第一个参数的任何值,{1}用于第二个参数,依此类推。列表项
-
在C#中,一切都是对象。有些是从结构中创建的(如int、double等),还有许多是从类中创建的。所以,如果你愿意,你实际上可以做这样的事情:
int a = new int();
你可以做这样的事情:
string aString = a.ToString();