Leggere in inglese

Condividi tramite


String.StartsWith Metodo

Definizione

Overload

StartsWith(String, Boolean, CultureInfo)

Determina se l'inizio di questa istanza di stringa corrisponde alla stringa specificata se confrontata mediante le impostazioni cultura specificate.

StartsWith(String, StringComparison)

Determina se l'inizio di questa istanza di stringa corrisponde alla stringa specificata se confrontata usando l'opzione di confronto specificata.

StartsWith(Char)

Determina se questa istanza di stringa inizia con il carattere specificato.

StartsWith(String)

Determina se l'inizio di questa istanza di stringa corrisponde alla stringa specificata.

StartsWith(String, Boolean, CultureInfo)

Origine:
String.Comparison.cs
Origine:
String.Comparison.cs
Origine:
String.Comparison.cs

Determina se l'inizio di questa istanza di stringa corrisponde alla stringa specificata se confrontata mediante le impostazioni cultura specificate.

C#
public bool StartsWith (string value, bool ignoreCase, System.Globalization.CultureInfo? culture);
C#
public bool StartsWith (string value, bool ignoreCase, System.Globalization.CultureInfo culture);

Parametri

value
String

Stringa da confrontare.

ignoreCase
Boolean

true per ignorare la distinzione tra maiuscole e minuscole durante il confronto; in caso contrario, false.

culture
CultureInfo

Informazioni relative alle impostazioni cultura che determinano le modalità di confronto fra questa stringa e il parametro value. Se culture è null, verranno usate le impostazioni cultura correnti.

Restituisce

true se il parametro value corrisponde all'inizio di questa stringa; in caso contrario, false.

Eccezioni

value è null.

Esempio

Nell'esempio seguente viene determinato se una stringa si verifica all'inizio di un'altra stringa. Il StartsWith metodo viene chiamato più volte usando distinzione tra maiuscole e minuscole, senza distinzione tra maiuscole e minuscole e impostazioni cultura diverse che influenzano i risultati della ricerca.

C#
// This code example demonstrates the 
// System.String.StartsWith(String, ..., CultureInfo) method.

using System;
using System.Threading;
using System.Globalization;

class Sample 
{
    public static void Main() 
    {
    string msg1 = "Search for the target string \"{0}\" in the string \"{1}\".\n";
    string msg2 = "Using the {0} - \"{1}\" culture:";
    string msg3 = "  The string to search ends with the target string: {0}";
    bool result = false;
    CultureInfo ci;

// Define a target string to search for.
// U+00c5 = LATIN CAPITAL LETTER A WITH RING ABOVE
    string capitalARing = "\u00c5";

// Define a string to search. 
// The result of combining the characters LATIN SMALL LETTER A and COMBINING 
// RING ABOVE (U+0061, U+030a) is linguistically equivalent to the character 
// LATIN SMALL LETTER A WITH RING ABOVE (U+00e5).
    string aRingXYZ = "\u0061\u030a" + "xyz";

// Clear the screen and display an introduction.
    Console.Clear();

// Display the string to search for and the string to search.
    Console.WriteLine(msg1, capitalARing, aRingXYZ);

// Search using English-United States culture.
    ci = new CultureInfo("en-US");
    Console.WriteLine(msg2, ci.DisplayName, ci.Name);

    Console.WriteLine("Case sensitive:");
    result = aRingXYZ.StartsWith(capitalARing, false, ci);
    Console.WriteLine(msg3, result);

    Console.WriteLine("Case insensitive:");
    result = aRingXYZ.StartsWith(capitalARing, true, ci);
    Console.WriteLine(msg3, result);
    Console.WriteLine();

// Search using Swedish-Sweden culture.
    ci = new CultureInfo("sv-SE");
    Console.WriteLine(msg2, ci.DisplayName, ci.Name);

    Console.WriteLine("Case sensitive:");
    result = aRingXYZ.StartsWith(capitalARing, false, ci);
    Console.WriteLine(msg3, result);

    Console.WriteLine("Case insensitive:");
    result = aRingXYZ.StartsWith(capitalARing, true, ci);
    Console.WriteLine(msg3, result);
    }
}

/*
Note: This code example was executed on a console whose user interface 
culture is "en-US" (English-United States).

Search for the target string "Å" in the string "a°xyz".

Using the English (United States) - "en-US" culture:
Case sensitive:
  The string to search ends with the target string: False
Case insensitive:
  The string to search ends with the target string: True

Using the Swedish (Sweden) - "sv-SE" culture:
Case sensitive:
  The string to search ends with the target string: False
Case insensitive:
  The string to search ends with the target string: False

*/

Commenti

Questo metodo confronta il value parametro con la sottostringa all'inizio di questa stringa con la stessa lunghezza valuedi e restituisce un valore che indica se sono uguali. Per essere uguale, value deve essere una stringa vuota (String.Empty), deve essere un riferimento a questa stessa istanza oppure deve corrispondere all'inizio di questa istanza.

Questo metodo esegue un confronto usando le maiuscole e le impostazioni cultura specificate.

Si applica a

.NET 9 e altre versioni
Prodotto Versioni
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1

StartsWith(String, StringComparison)

Origine:
String.Comparison.cs
Origine:
String.Comparison.cs
Origine:
String.Comparison.cs

Determina se l'inizio di questa istanza di stringa corrisponde alla stringa specificata se confrontata usando l'opzione di confronto specificata.

C#
public bool StartsWith (string value, StringComparison comparisonType);
C#
[System.Runtime.InteropServices.ComVisible(false)]
public bool StartsWith (string value, StringComparison comparisonType);

Parametri

value
String

Stringa da confrontare.

comparisonType
StringComparison

Uno dei valori di enumerazione che determina la modalità di confronto fra questa stringa e value.

Restituisce

true se l'istanza inizia con value; in caso contrario, false.

Attributi

Eccezioni

value è null.

comparisonType non è un valore di StringComparison.

Esempio

Nell'esempio seguente viene cercata la stringa "the" all'inizio di una stringa più lunga che inizia con la parola "The". Come illustrato nell'output dell'esempio, una chiamata al StartsWith(String, StringComparison) metodo che esegue un confronto senza distinzione tra maiuscole e minuscole ma senza distinzione tra maiuscole e minuscole non corrisponde alla stringa, mentre una chiamata che esegue un confronto con impostazioni cultura e senza distinzione tra maiuscole e minuscole corrisponde alla stringa.

C#
using System;

public class Example
{
   public static void Main()
   {
      String title = "The House of the Seven Gables";
      String searchString = "the";
      StringComparison comparison = StringComparison.InvariantCulture;
      Console.WriteLine("'{0}':", title);
      Console.WriteLine("   Starts with '{0}' ({1:G} comparison): {2}",
                        searchString, comparison,
                        title.StartsWith(searchString, comparison));

      comparison = StringComparison.InvariantCultureIgnoreCase;
      Console.WriteLine("   Starts with '{0}' ({1:G} comparison): {2}",
                        searchString, comparison,
                        title.StartsWith(searchString, comparison));
   }
}
// The example displays the following output:
//       'The House of the Seven Gables':
//          Starts with 'the' (InvariantCulture comparison): False
//          Starts with 'the' (InvariantCultureIgnoreCase comparison): True

Nell'esempio seguente viene determinato se una stringa inizia con una determinata sottostringa. Inizializza una matrice di stringhe bidimensionale. Il primo elemento nella seconda dimensione contiene una stringa e il secondo elemento contiene la stringa da cercare all'inizio della prima stringa. I risultati sono interessati dalla scelta delle impostazioni cultura, dal fatto che la distinzione tra maiuscole e minuscole venga ignorata e dal fatto che venga eseguito un confronto ordinale. Si noti che quando l'istanza di stringa contiene una legatura, i confronti con distinzione tra le impostazioni cultura e i caratteri consecutivi corrispondono correttamente.

C#
using System;

public class Example
{
   public static void Main()
   {
      string[,] strings = { {"ABCdef", "abc" },                    
                            {"ABCdef", "abc" },  
                            {"œil","oe" },
                            { "læring}", "lae" } };
      for (int ctr1 = strings.GetLowerBound(0); ctr1 <= strings.GetUpperBound(0); ctr1++)
      {
            foreach (string cmpName in Enum.GetNames(typeof(StringComparison)))
            { 
               StringComparison strCmp = (StringComparison) Enum.Parse(typeof(StringComparison), 
                                                      cmpName);
               string instance = strings[ctr1, 0];
               string value = strings[ctr1, 1];
               Console.WriteLine("{0} starts with {1}: {2} ({3} comparison)", 
                                 instance, value, 
                                 instance.StartsWith(value, strCmp), 
                                 strCmp); 
            }
            Console.WriteLine();   
      }   
   }
}
// The example displays the following output:
//       ABCdef starts with abc: False (CurrentCulture comparison)
//       ABCdef starts with abc: True (CurrentCultureIgnoreCase comparison)
//       ABCdef starts with abc: False (InvariantCulture comparison)
//       ABCdef starts with abc: True (InvariantCultureIgnoreCase comparison)
//       ABCdef starts with abc: False (Ordinal comparison)
//       ABCdef starts with abc: True (OrdinalIgnoreCase comparison)
//       
//       ABCdef starts with abc: False (CurrentCulture comparison)
//       ABCdef starts with abc: True (CurrentCultureIgnoreCase comparison)
//       ABCdef starts with abc: False (InvariantCulture comparison)
//       ABCdef starts with abc: True (InvariantCultureIgnoreCase comparison)
//       ABCdef starts with abc: False (Ordinal comparison)
//       ABCdef starts with abc: True (OrdinalIgnoreCase comparison)
//       
//       œil starts with oe: True (CurrentCulture comparison)
//       œil starts with oe: True (CurrentCultureIgnoreCase comparison)
//       œil starts with oe: True (InvariantCulture comparison)
//       œil starts with oe: True (InvariantCultureIgnoreCase comparison)
//       œil starts with oe: False (Ordinal comparison)
//       œil starts with oe: False (OrdinalIgnoreCase comparison)
//       
//       læring} starts with lae: True (CurrentCulture comparison)
//       læring} starts with lae: True (CurrentCultureIgnoreCase comparison)
//       læring} starts with lae: True (InvariantCulture comparison)
//       læring} starts with lae: True (InvariantCultureIgnoreCase comparison)
//       læring} starts with lae: False (Ordinal comparison)
//       læring} starts with lae: False (OrdinalIgnoreCase comparison)

Commenti

Il StartsWith metodo confronta il value parametro con la sottostringa all'inizio di questa stringa e restituisce un valore che indica se sono uguali. Per essere uguale, value deve essere un riferimento a questa stessa stringa, deve essere la stringa vuota ("") o deve corrispondere all'inizio di questa stringa. Il tipo di confronto eseguito dal StartsWith metodo dipende dal valore del comparisonType parametro . Il confronto può usare le convenzioni delle impostazioni cultura correnti (StringComparison.CurrentCulture e StringComparison.CurrentCultureIgnoreCase) o delle impostazioni cultura invarianti (StringComparison.InvariantCulture e StringComparison.InvariantCultureIgnoreCase) oppure può essere costituito da un confronto carattere per carattere di punti di codice (StringComparison.Ordinal o StringComparison.OrdinalIgnoreCase). Il confronto può anche fare distinzione tra maiuscole e minuscole (StringComparison.CurrentCulture, StringComparison.InvariantCultureo StringComparison.Ordinal) oppure può ignorare la distinzione tra maiuscole e minuscole (StringComparison.CurrentCultureIgnoreCase, StringComparison.InvariantCultureIgnoreCase, StringComparison.OrdinalIgnoreCase).

Vedi anche

Si applica a

.NET 9 e altre versioni
Prodotto Versioni
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

StartsWith(Char)

Origine:
String.Comparison.cs
Origine:
String.Comparison.cs
Origine:
String.Comparison.cs

Determina se questa istanza di stringa inizia con il carattere specificato.

C#
public bool StartsWith (char value);

Parametri

value
Char

Carattere da confrontare.

Restituisce

true se l'inizio di questa stringa corrisponde al parametro value; in caso contrario, false.

Commenti

Questo metodo esegue un confronto ordinale (con distinzione tra maiuscole e minuscole e senza distinzione tra impostazioni cultura).

Si applica a

.NET 9 e altre versioni
Prodotto Versioni
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Standard 2.1

StartsWith(String)

Origine:
String.Comparison.cs
Origine:
String.Comparison.cs
Origine:
String.Comparison.cs

Determina se l'inizio di questa istanza di stringa corrisponde alla stringa specificata.

C#
public bool StartsWith (string value);

Parametri

value
String

Stringa da confrontare.

Restituisce

true se l'inizio di questa stringa corrisponde al parametro value; in caso contrario, false.

Eccezioni

value è null.

Esempio

Nell'esempio seguente viene definito un StripStartTags metodo che usa il StartsWith(String) metodo per rimuovere i tag di inizio HTML dall'inizio di una stringa. Si noti che il StripStartTags metodo viene chiamato in modo ricorsivo per assicurarsi che all'inizio della riga vengano rimossi più tag di inizio HTML. L'esempio non rimuove i tag HTML incorporati in una stringa.

C#
using System;

public class Example
{
   public static void Main() {
      string [] strSource = { "<b>This is bold text</b>", "<H1>This is large Text</H1>",
                "<b><i><font color=green>This has multiple tags</font></i></b>",
                "<b>This has <i>embedded</i> tags.</b>",
                "<This line simply begins with a lesser than symbol, it should not be modified" };

      // Display the initial string array.
      Console.WriteLine("The original strings:");
      Console.WriteLine("---------------------");
      foreach (var s in strSource)
         Console.WriteLine(s);
      Console.WriteLine();

      Console.WriteLine("Strings after starting tags have been stripped:");
      Console.WriteLine("-----------------------------------------------");

      // Display the strings with starting tags removed.
     foreach (var s in strSource)
        Console.WriteLine(StripStartTags(s));
   }

   private static string StripStartTags(string item)
   {
      // Determine whether a tag begins the string.
      if (item.Trim().StartsWith("<")) {
         // Find the closing tag.
         int lastLocation = item.IndexOf( ">" );
         // Remove the tag.
         if (lastLocation >= 0) {
            item =  item.Substring( lastLocation + 1 );

            // Remove any additional starting tags.
            item = StripStartTags(item);
         }
      }

      return item;
   }
}
// The example displays the following output:
//    The original strings:
//    ---------------------
//    <b>This is bold text</b>
//    <H1>This is large Text</H1>
//    <b><i><font color = green>This has multiple tags</font></i></b>
//    <b>This has <i>embedded</i> tags.</b>
//    <This line simply begins with a lesser than symbol, it should not be modified
//
//    Strings after starting tags have been stripped:
//    -----------------------------------------------
//    This is bold text</b>
//    This is large Text</H1>
//    This has multiple tags</font></i></b>
//    This has <i>embedded</i> tags.</b>
//    <This line simply begins with a lesser than symbol, it should not be modified

Commenti

Questo metodo confronta value la sottostringa all'inizio di questa istanza con la stessa lunghezza valuedi e restituisce un'indicazione se sono uguali. Per essere uguale, value deve essere una stringa vuota (String.Empty), deve essere un riferimento a questa stessa istanza oppure deve corrispondere all'inizio di questa istanza.

Questo metodo esegue un confronto di parole (con distinzione tra maiuscole e minuscole e con distinzione tra impostazioni cultura) usando le impostazioni cultura correnti.

Note per i chiamanti

Come illustrato in Procedure consigliate per l'uso di stringhe, è consigliabile evitare di chiamare metodi di confronto tra stringhe che sostituiscono i valori predefiniti e chiamare invece metodi che richiedono parametri da specificare in modo esplicito. Per determinare se una stringa inizia con una determinata sottostringa usando le regole di confronto tra stringhe delle impostazioni cultura correnti, segnalare in modo esplicito l'intenzione chiamando l'overload del StartsWith(String, StringComparison) metodo con un valore di CurrentCulture per il comparisonType relativo parametro. Se non è necessario un confronto con riconoscimento linguistico, è consigliabile usare Ordinal.

Vedi anche

Si applica a

.NET 9 e altre versioni
Prodotto Versioni
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0