导出 (0) 打印
全部展开
此文章由机器翻译。 将光标移到文章的句子上,以查看原文。 更多信息。
译文
原文

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

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

命名空间:  System
程序集:  mscorlib(在 mscorlib.dll 中)

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

参数

separator
类型:System.String
要用作分隔符的字符串。 只有在 values 具有多个元素时,separator 才包括在返回的字符串中。
values
类型:System.Object[]
一个数组,其中包含要连接的元素。

返回值

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

异常条件
ArgumentNullException

valuesnull

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

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

对调用者的说明

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


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


下面的示例使用埃拉托色尼斯筛法算法计算小于或等于 100 的质数。 它将结果赋值给整数数组,然后向其传递到 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<int> primes = new List<int>();
      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


.NET Framework

受以下版本支持:4.5.2、4.5.1、4.5、4

.NET Framework Client Profile

受以下版本支持:4

可移植类库

受以下版本支持:可移植类库

适用于 Windows 应用商店应用的 .NET

受以下版本支持:Windows 8

适用于 Windows Phone 应用的 .NET

受以下版本支持:Windows Phone 8、Silverlight 8.1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008(不支持服务器核心角色), Windows Server 2008 R2(支持带 SP1 或更高版本的服务器核心角色;不支持 Itanium)

.NET Framework 并不是对每个平台的所有版本都提供支持。有关支持的版本的列表,请参阅.NET Framework 系统要求

社区附加资源

添加
显示:
© 2014 Microsoft