Supprimer tout élément vide (ligne) uniquement dans votre zone de liste. Utilisation de VS 2003 framework 1.1 ou VS 2005 framework 2.0 ou VS 2008 framework 3.5, ce code fonctionne pour vous:
int i = 0;
while (listBox1.Items.Count - 1 >= i)
{
// convert listbox object to string so we can use Trim() for remove all space(whitespace char before and after the word
//then check if remain character or there is nothing at all whatever whitspace char or any space
if (Convert.ToString(listBox1.Items[i]).Trim() == string.Empty)
{
//if the line became blank after Trim() apply so the line is empty and condition is true
listBox1.Items.RemoveAt(i);
//decrement i because we remove line and the following line will take his place and his index number
i -= 1;
}
i += 1;
}
Rappelez-vous si vous cliquez sur la barre d'espace ou onglet dans la nouvelle ligne vide vous créez caractère appel des espaces omble chevalier et cette ligne non vide de comprendre ce que je veux dire, si l'on ajoute les lignes suivantes la zone de liste
listBox1.Items.Add(" IN ");//click tab before and after IN
listBox1.Items.Add(""); //blank line no whitespace char or any character
listBox1.Items.Add(" THE"); //click spacebar twice before THE
listBox1.Items.Add(" "); //click tab once
listBox1.Items.Add(" NAME "); //click spacebar after and before
listBox1.Items.Add(" OF "); //click tab before and spacebar after
listBox1.Items.Add(" ");//click tab twice
listBox1.Items.Add("ALLAH"); //no space after or before
la seule ligne accomplissons la condition String.Empty
sans appliquer Trim()
à la ligne est la 2ème ligne, mais lorsque nous utilisons Trim()
la 4e ligne et de la ligne 7, ils seront comme 2ème ligne ligne blanche sans caractère d'espace blanc afin 2ème (ligne vide ou ligne vide pas besoin de modifier), 4ème, 7 th (devenu ligne vide maintenant après l'utilisation de la garniture) ils seront supprimés de la liste.
Le résultat sera:
IN
THE
NAME
OF
ALLAH
De plus, je dois souligner que cela ne correspond des chaînes qui sont exactement un espace et un seul espace. Pour correspondre à toutes les chaînes d'espaces, utilisez 'String.IsNullOrWhitespace (listbox2.Items [i] .ToString())' – MiffTheFox
@Miff, C'est un bon point à considérer. C'est une méthode .NET 4, donc elle peut ne pas être disponible si vous travaillez dans un environnement de 3.5 ou moins. –
Dans le cas de <.NET4, vous pouvez toujours utiliser 'string.IsNullOrEmpty (foo.Trim())'. Et je suis sûr que c'est ce que l'auteur de la question voulait, pas l'espace unique. –