System.String.Concat 方法 (IEnumerable)

方法描述

串联类型为 String 的 IEnumerable 构造集合的成员。

语法定义(C# System.String.Concat 方法 (IEnumerable) 的用法)

[ComVisibleAttribute(false)]
public static string Concat(
	IEnumerable values
)

参数/返回值

参数值/返回值 参数类型/返回类型 参数描述/返回描述
values System-Collections-Generic-IEnumerable 一个集合对象,该对象实现 IEnumerable,且其泛型类型参数为 String。
返回值 System.String values 中的串联字符串。

提示和注释

该方法连接 values 中的每个对象;它不添加任何分隔符。 若要在 values 的每个成员间指定分隔符,请调用 Join(String, IEnumerable) 方法。

使用 Empty 字符串替代任何 null 参数。

Concat(IEnumerable) 是一个便利方法,通过它可以串联 IEnumerable(Of String) 集合中的每个元素,无需事先将元素转换为字符串数组。 它对于语言集成查询 (LINQ) 查询表达式特别有用。 下面的示例将包含字母表大写或小写字母的 List(Of String) 对象传递到 lambda 表达式,该表达式选择等于或大于特定字母(在此示例中为 "M")的字母。 Enumerable.Where 方法返回的 IEnumerable(Of String) 集合传递到 Concat(IEnumerable) 方法,将结果显示为单个字符串。

C#

VB

复制

using System;

using System.Collections.Generic;

using System.Linq;

public class Example

{

public static void Main()

{

string output = String.Concat( GetAlphabet(true).Where( letter =>

letter.CompareTo("M") >= 0));

Console.WriteLine(output);

}

private static List GetAlphabet(bool upper)

{

List alphabet = new List();

int charValue = upper ? 65 : 97;

for (int ctr = 0; ctr <= 25; ctr++)

alphabet.Add(Convert.ToChar(charValue + ctr).ToString());

return alphabet;

}

}

// The example displays the following output:

// MNOPQRSTUVWXYZ

System.String.Concat 方法 (IEnumerable)例子

它将结果赋值给 String 类型的 List 对象,然后将其传递到 Concat(IEnumerable) 方法。

using System;
using System.Collections.Generic;

public class Example
{
   public static void Main()
   {
      int maxPrime = 100;
      IEnumerable primeList = GetPrimes(maxPrime);
      Console.WriteLine("Primes less than {0}:", maxPrime);
      Console.WriteLine("   {0}", String.Concat(primeList));
   }

   private static IEnumerable 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.ToString() + " ");
      return primes;
   }   
}
// 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 系统要求。