Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

Metodo String.Join (String, IEnumerable<String>)

 

Data di pubblicazione: novembre 2016

Concatena i membri di una raccolta IEnumerable<T> costruita di tipo String, usando tra i membri il separatore specificato.

Spazio dei nomi:   System
Assembly:  mscorlib (in mscorlib.dll)

[ComVisibleAttribute(false)]
public static string Join(
	string separator,
	IEnumerable<string> values
)

Parametri

separator
Type: System.String

Stringa da usare come separatore. separator è incluso nella stringa restituita solo se values presenta più di un elemento.

values
Type: System.Collections.Generic.IEnumerable<String>

Raccolta che contiene le stringhe da concatenare.

Valore restituito

Type: System.String

Stringa costituita dai membri di values delimitati dalla stringa separator. Se values non dispone di membri, il metodo restituisce String.Empty.

Exception Condition
ArgumentNullException

values è null.

Se separator è null, una stringa vuota (String.Empty) viene invece utilizzato. Se qualsiasi membro del values è null, invece, viene utilizzata una stringa vuota.

Join(String, IEnumerable<String>)è un metodo pratico che consente di concatenare ogni elemento in un IEnumerable(Of String) insieme senza prima di convertire gli elementi in una matrice di stringhe. È particolarmente utile con le espressioni di query Language-Integrated Query (LINQ). Nell'esempio seguente viene passato un List(Of String) oggetto contenente le lettere maiuscole o minuscole dell'alfabeto in un'espressione lambda che consente di selezionare lettere uguale a o maggiore di una determinata lettera (ovvero, nell'esempio, "M"). Il IEnumerable(Of String) raccolta restituita dal Enumerable.Where<TSource> viene passato per il Join(String, IEnumerable<String>) metodo per visualizzare il risultato come stringa singola.

using System;
using System.Collections.Generic;
using System.Linq;

public class Example
{
   public static void Main()
   {
      string output = String.Join(" ", GetAlphabet(true).Where( letter => 
                      letter.CompareTo("M") >= 0));
      Console.WriteLine(output);  
   }

   private static List<string> GetAlphabet(bool upper)
   {
      List<string> alphabet = new List<string>();
      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:
//      M N O P Q R S T U V W X Y Z

L'esempio seguente usa l'algoritmo del crivello di Eratostene per calcolare i numeri primi che sono minori o uguali a 100. Assegna il risultato a un List<T> oggetto di tipo String, che passa quindi il Join(String, IEnumerable<String>) (metodo).

using System;
using System.Collections.Generic;

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

   private static List<int> GetPrimes(int maxPrime)
   {
      Array values = Array.CreateInstance(typeof(int), 
                              new int[] { maxPrime - 1}, new int[] { 2 });
      // Use Sieve of Eratosthenes 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;
   }   
}
// 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

Universal Windows Platform
Disponibile da 8
.NET Framework
Disponibile da 4.0
Libreria di classi portabile
Supportato in: piattaforme .NET portabili
Silverlight
Disponibile da 4.0
Windows Phone Silverlight
Disponibile da 7.1
Windows Phone
Disponibile da 8.1
Torna all'inizio
Mostra: