Csharp/CSharp Tutorial/Language Basics/Variable Length Parameters — различия между версиями
Admin (обсуждение | вклад) м (1 версия) |
Admin (обсуждение | вклад) м (1 версия) |
(нет различий)
|
Текущая версия на 15:19, 26 мая 2010
Use params to mark a parameter
<source lang="csharp">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); }
}</source>
Variable-Length Parameter Lists
<source lang="csharp">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); }
}</source>
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