信息
您所需的主题如下所示。但此主题未包含在此库中。

String.Join 方法 (String, Object[])

2013/12/13

连接对象数组的各个元素,其中在每个元素之间使用指定的分隔符。

Namespace:  System
程序集:  mscorlib(位于 mscorlib.dll 中)

public static string Join(
	string separator,
	params Object[] values
)

参数

separator
类型: System.String
要用作分隔符的字符串。
values
类型: System.Object []
一个数组,其中包含要连接的元素。

返回值

类型: System.String
一个由 values 的元素组成的字符串,这些元素以 separator 字符串分隔。如果 values 为空数组,则此方法将返回 String.Empty

异常条件
ArgumentNullException

valuesnull

如果 separatornull,则使用空字符串 (String.Empty)。如果值的所有元素(而不是第一个元素)均为 null,则改为使用空字符串 (String.Empty)。

Join(String, Object[]) 是一个便利方法,通过它可以串联对象数组中的每个元素,无需将其元素显式转换为字符串。数组中每个对象的字符串表示形式通过调用对象的 ToString 方法派生。

对调用者的说明

如果 values 的首个元素为 null,则 Join 方法不串联在 values 中的元素,但返回 String.Empty。该问题的一些解决方法可用。最简单的就是将 String.Empty 值分配给该数组的第一个元素,如以下示例所示。


object[] values = { null, "Cobb", 4189, 11434, .366 };
if (values[0] == null) values[0] = String.Empty;
outputBlock.Text += String.Join("|", values) + "\n";
// The example displays the following output:
//      |Cobb|4189|11434|0.366


下面的示例使用埃拉托色尼筛法 (Sieve of Eratosthenes) 算法计算小于或等于 100 的素数。它将结果赋给一个整数数组,然后传递到 Join(String, Object[]) 方法。


using System;
using System.Collections.Generic;

public class Example
{ 
   public static void Demo(System.Windows.Controls.TextBlock outputBlock)
   {
      int maxPrime = 100;
      int[] primes = GetPrimes(maxPrime);
      outputBlock.Text += String.Format("Primes less than {0}:", maxPrime) + "\n";
      outputBlock.Text += String.Format("   {0}", String.Join(" ", primes)) + "\n";
   }

   private static int[] GetPrimes(int maxPrime)
   {  
      int[] values = new int[maxPrime + 1];
      // Use Sieve of Erathsthenes to determine prime numbers.

      for (int ctr = 2; ctr <= (int)Math.Ceiling(Math.Sqrt(values.GetUpperBound(0))); ctr++)
      {
         if (values[ctr] == 1) continue;

         for (int multiplier = ctr; multiplier <= maxPrime / 2; multiplier++)
            if (ctr * multiplier < maxPrime + 1)
               values[ctr * multiplier] = 1;
      }

      List<int> primes = new List<int>();
      for (int ctr = 2; ctr <= values.GetUpperBound(0); ctr++)
         if (values[ctr] == 0)
            primes.Add(ctr);

      return primes.ToArray();
   }
}
// The example displays the following output:
//    Primes less than 100:
//       2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97


Windows Phone OS

受以下版本支持: 8.0, 7.1

Windows Phone

显示: