In realtà, c'è un modo migliore per farlo che diviso:
public string GetFirstFromSplit(string input, char delimiter)
{
var i = input.IndexOf(delimiter);
return i == -1 ? input : input.Substring(0, i);
}
E come metodi di estensione:
public static string FirstFromSplit(this string source, char delimiter)
{
var i = source.IndexOf(delimiter);
return i == -1 ? source : source.Substring(0, i);
}
public static string FirstFromSplit(this string source, string delimiter)
{
var i = source.IndexOf(delimiter);
return i == -1 ? source : source.Substring(0, i);
}
Usage:
string result = "hi, hello, sup".FirstFromSplit(',');
Console.WriteLine(result); // "hi"
Questo è un po 'il modo ovvio ... Ma davvero, vuoi eseguire una divisione su tutta la stringa, solo per ottenere la prima parte? Immagina se la stringa fosse abbastanza lunga e se l'operazione fosse eseguita molte volte durante la vita del programma e forse anche in un ciclo per tutti i record. – SimpleVar