Удалить все пустое (только) в своем списке. Использование VS 2003 framework 1.1 или VS 2005 framework 2.0 или VS 2008 framework 3.5, этот код будет работать для вас:
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;
}
Помните, что если вы нажмете пробел или табуляцию в новой пустой строке создать символ вызова пробел символ, и это не пустая строка, чтобы понять, что я имею в виду, если мы добавим следующие строки ListBox
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
Единственная линия отвечают условию String.Empty
без применить Trim()
к линии является второй линии, но когда мы используем Trim()
4-й линии и седьмой линии они будут, как 2-й линии, пустая строка не символ пробела так 2-й (уже пустая строка или пустая строка не нужно изменять), 4, 7 th (теперь после пустой обрезки стала пустой линией), они будут удалены из списка.
Результат будет:
IN
THE
NAME
OF
ALLAH
Кроме того, я должен отметить, что это будет соответствовать только строки, которые ровно один пробел, и только одно пространство. Чтобы сопоставить все пробельные строки, используйте 'String.IsNullOrWhitespace (listbox2.Items [i] .ToString())' – MiffTheFox
@Miff. Это хороший момент для рассмотрения. Это метод .NET 4, поэтому он может быть недоступен, если вы работаете в среде с 3.5 или менее. –
В случае <.NET4 вы все равно можете использовать 'string.IsNullOrEmpty (foo.Trim())'. И я вполне уверен, что это то, о чем думал автор вопроса, а не о единственном пространстве. –