2015-04-30 3 views
-4

Как бы проверить длину каждого слова в строке, и если один из них больше, чем 10, отобразит другой ответ?C# проверка длины слова

Semi псевдопользователей

string allwords= "This is a test this is a test aaaaaaaaaaa this is a test"; 

if (allwords.Length < 10) { 
     Console.WriteLine (allwords.Length); 

} 
else 
{ 
    Console.WriteLine ("Woahh there one of these words is more than 10 chars"); 
} 
+2

использовать 'split' и проверять каждый элемент, возвращаемый в массиве для его длины. – Ric

ответ

0

вы можете сделать это в 4-х различных способов. только не забудьте добавить

using System; 
using System.Linq; 

пространств имен для вашего проекта.

первый способ: используя любой метод, и если оператор

string allwords = "This is a test this is a test aaaaaaaaaaa this is a test "; 
bool c = allwords.Split().Any(s => s.Length > 10); 
if (c == false) 
    Console.WriteLine(allwords); 
else 
    Console.WriteLine("Woahh there one of these words is more than 10 chars"); 

второй способ: используя любой метод, и? Оператор

string allwords = "This is a test this is a test aaaaaaaaaaa this is a test "; 
bool c = allwords.Split().Any(s => s.Length > 10); 
Console.WriteLine(c == false ? allwords : "Woahh there one of these words is more than 10 chars"); 

третий способ: используя строку [] и каждый элемент и, если заявление

string allwords = "This is a test this is a test aaaaaaaaaaa this is a test "; 
string[] c = allwords.Split(); 
bool moreThanten = false; 
foreach (string v in c) 
    if (v.Length > 10) 
     moreThanten = true; 
if (moreThanten == false) 
    Console.WriteLine(allwords); 
else 
    Console.WriteLine("Woahh there one of these words is more than 10 chars"); 

четвёртую путь: используя строку [] и каждый элемент и? оператор

string allwords = "This is a test this is a test aaaaaaaaaaa this is a test "; 
string[] c = allwords.Split(); 
bool moreThanten = false; 
foreach (string v in c) 
    if (v.Length > 10) 
     moreThanten = true; 
Console.WriteLine(moreThanten == false ? allwords : "Woahh there one of these words is more than 10 chars"); 
7

Вы могли бы сделать что-то вроде:

allWords.Split(' ').Any(w => w.Length > 10); 
Смежные вопросы