[optional]关键字与方法参数和默认值之间的区别是什么

时间:2018-03-24 03:51:17

标签: c# vb.net

我们在导入[optional]时刚刚在c#中看到System.Runtime.InteropServices;关键字!在此之前,我用来设置参数的默认值,使其成为可选项。

我没有得到两种模式之间的区别,两者都是相同的,为什么[optional]特别保存在System.Runtime.InteropServices;之下,就像在vb.net中一样,它可以在不导入的情况下使用。

 class Program
 {
    static void Main(string[] args)
    {
        ///new Test3().rrr();
        Test(20);
        Test2(30);
        Console.Read();
    }

    private static void Test(int par1, [Optional] int par2)
    {
        Console.WriteLine("Par1 -> " + par1);
        Console.WriteLine("Optional par2 -> " + par2.ToString());
    }

    private static void Test2(int par1, int par2 = 0)
    {
        Console.WriteLine("Par1 -> " + par1);
        Console.WriteLine("Optional par2 -> " + par2.ToString());
    }
} 

0 个答案:

没有答案