With named parameters we can specify parameters by name not by position.
using System;
class Program
{
static void output(int i, int j)
{
Console.WriteLine("i=" + i);
Console.WriteLine("j=" + j);
}
static void Main(string[] args)
{
output(j : 10, i : 5);
}
}
The output:
i=5
j=10
The evaluation sequence of named parameter is determined by the method call.
using System;
class Program
{
static void output(int i, int j)
{
Console.WriteLine("i=" + i);
Console.WriteLine("j=" + j);
}
static void Main(string[] args)
{
int k = 10;
output(j : k++, i : k++);
}
}
The output:
i=11
j=10
We can also mix the positional parameter and named parameter.
using System;
class Program
{
static void output(int i, int j)
{
Console.WriteLine("i=" + i);
Console.WriteLine("j=" + j);
}
static void Main(string[] args)
{
int k = 10;
output(k, j : 20);
}
}
The output:
i=10
j=20
The positional parameters have to be before the named parameters.
using System;
class Program
{
static void output(int i, int j)
{
Console.WriteLine("i=" + i);
Console.WriteLine("j=" + j);
}
static void Main(string[] args)
{
int k = 10;
output(j : 20, k );
}
}
The code above produces the following errors:
C:\g>csc Program.cs
Microsoft (R) Visual C# 2010 Compiler version 4.0.30319.1
Copyright (C) Microsoft Corporation. All rights reserved.
Program.cs(17,24): error CS1738: Named argument specifications must appear after
all fixed arguments have been specified
java2s.com | Contact Us | Privacy Policy |
Copyright 2009 - 12 Demo Source and Support. All rights reserved. |
All other trademarks are property of their respective owners. |