Csharp/CSharp Tutorial/Language Basics/Variable Length Parameters — различия между версиями
Admin (обсуждение | вклад) м (1 версия) |
|
(нет различий)
|
Версия 15:31, 26 мая 2010
Use params to mark a parameter
using System;
using System.Collections.Generic;
using System.Text;
class Program {
static int SumVals(params int[] vals) {
int sum = 0;
foreach (int val in vals) {
sum += val;
}
return sum;
}
static void Main(string[] args) {
int sum = SumVals(1, 5, 2, 9, 8);
Console.WriteLine("Summed Values = {0}", sum);
}
}
Variable-Length Parameter Lists
using System;
class MainClass
{
public static void Main()
{
Write("A", "B");
Write("A", "B", "C", 12, 14.2);
object[] arr = new object[4];
arr[0] = "A";
arr[1] = "B";
arr[2] = "C";
arr[3] = 42;
Write("AAA", arr);
}
public static void Write(string label, object arg)
{
WriteString(label);
WriteString(arg.ToString());
}
// version with an array of object parameters
public static void Write(string label, params object[] args)
{
WriteString(label);
foreach (object o in args)
{
WriteString(o.ToString());
}
}
public static void WriteString(string str)
{
// writes string to the port here
Console.WriteLine("Port debug: {0}", str);
}
}
Port debug: A Port debug: B Port debug: A Port debug: B Port debug: C Port debug: 12 Port debug: 14.2 Port debug: AAA Port debug: A Port debug: B Port debug: C Port debug: 42