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

方法描述

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

语法定义(C# System.String.Join 方法 (String, Object[]) 的用法)

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

参数/返回值

参数值/返回值 参数类型/返回类型 参数描述/返回描述
separator System-String 要用作分隔符的字符串。
values System-Object[] 一个数组,其中包含要连接的元素。
返回值 System.String 一个由 values 的元素组成的字符串,这些元素以 separator 字符串分隔。

提示和注释

如果 separator 是 null 或如果 values 的任意元素而不是首个元素为 null,则使用空字符串(String.Empty)。 如果 values 的第一个元素为 null,请参见“调用方说明”部分。

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

对调用者的说明

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

C#

VB

复制

object[] values = { null, "Cobb", 4189, 11434, .366 };

if (values[0] == null) values[0] = String.Empty;

Console.WriteLine(String.Join("|", values));

// The example displays the following output:

// |Cobb|4189|11434|0.366

System.String.Join 方法 (String, Object[])例子

它将结果赋值给整数数组,然后向其传递到 Join(String, Object[]) 方法。

using System;
using System.Collections.Generic;

public class Example
{
   public static void Main()
   {
      int maxPrime = 100;
      int[] primes = GetPrimes(maxPrime);
      Console.WriteLine("Primes less than {0}:", maxPrime);
      Console.WriteLine("   {0}", String.Join(" ", primes));
   }

   private static int[] GetPrimes(int maxPrime)
   {
      Array values = Array.CreateInstance(typeof(int), 
                              new int[] { maxPrime - 1}, new int[] { 2 }); 
      // Use Sieve of Erathsthenes to determine prime numbers.
      for (int ctr = values.GetLowerBound(0); ctr <= (int) Math.Ceiling(Math.Sqrt(values.GetUpperBound(0))); ctr++)
      {

         if ((int) values.GetValue(ctr) == 1) continue;

         for (int multiplier = ctr; multiplier <=  maxPrime / 2; multiplier++)
            if (ctr * multiplier <= maxPrime)
               values.SetValue(1, ctr * multiplier);
      }      

      List primes = new List();
      for (int ctr = values.GetLowerBound(0); ctr <= values.GetUpperBound(0); ctr++)
         if ((int) values.GetValue(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

异常

异常 异常描述
ArgumentNullException values 为 null。

命名空间

namespace: System

程序集: mscorlib(在 mscorlib.dll 中)

版本信息

.NET Framework 受以下版本支持:4 .NET Framework Client Profile 受以下版本支持:4

适用平台

Windows 7, Windows Vista SP1 或更高版本, Windows XP SP3, Windows Server 2008(不支持服务器核心), Windows Server 2008 R2(支持 SP1 或更高版本的服务器核心), Windows Server 2003 SP2 .NET Framework 并不是对每个平台的所有版本都提供支持。有关支持的版本的列表,请参见.NET Framework 系统要求。