2016-08-11 3 views
-4

Я не уверен, как это сделать, я новичок в C#. Мне нужно создать оператор IF, который возвращает true, если строка содержит только пробельные символы.Оператор IF, который возвращает true, если строка содержит только пробел

Еще одна вещь, которую мне нужно выяснить, как это сделать, - создать оператор IF, который возвращает true, если строка соответствует дню недели.

Заявления IF являются для меня большой проблемой.

+4

'String.IsNullOrWhiteSpace (str)'. Используйте Google чувак. Если вам не нужны строки «null», они также добавляются в 'str! = Null'. –

+1

Пустая строка - это не то же самое, что строка с только пробелами, @NickBull. – Tim

+1

@Tim Thasnks для исправления, набрал неправильную вещь в спешке. –

ответ

0
if (myString.Trim().Length==0) 
{ 
    //It was all whitespace. 
} 
if (
    (myOtherString.ToLower() == "sunday") || 
    (myOtherString.ToLower() == "monday") || 
    (myOtherString.ToLower() == "tuesday") || 
    (myOtherString.ToLower() == "wednesday") || 
    (myOtherString.ToLower() == "thursday") || 
    (myOtherString.ToLower() == "friday") || 
    (myOtherString.ToLower() == "saturday") 
    ) 
{ 
    //It matched a day of the week. 
} 
+2

Как вы, наверное, догадались, это, скорее всего, домашнее задание. Пожалуйста, подумайте об этом, прежде чем делать для них домашнюю работу. – user1274820

+0

Может быть ... быть не может. * «Первая компьютерная программа, которую я когда-либо писала, была длиной восемь строк, заняла у меня шесть месяцев, чтобы написать, и в ней была ошибка». * Легко забыть, как * озадачивать * этот материал на самом деле, когда вы впервые познакомитесь с Это. (Он упоминается как «глоток из пожарного шланга!») –

+0

Я стараюсь извлечь уроки из этого материала, это непросто для кого-то нового. Лучше всего я могу научиться - попробовать его, а затем увидеть правильный способ сделать это, чтобы я знал, куда я пошел неверно. – user4617245

0

По точной формулировки Вашего вопроса, Вы должны сначала убедиться, что это не пустой, а затем убедитесь, что длина больше, чем 0 (вы сказали, что строка содержит только пробелы, а это значит, что пустая строка не отвечает требованиям), а затем вы хотите, чтобы убедиться, что обрезается длина == 0. сочетание этих условий обеспечения того, чтобы:

строка имеет символы Обрезка пробельные оставляет строку без символов Поэтому строка содержит пробелы и только пробелы

if (myString != null && myString.Length > 0 && myString.Trim().Length == 0) { 
    // You've arrived 
} 
+0

Я полагаю, что ваша формулировка туманна. «Содержит только пробелы», вы могли бы означать, что «если в нем что-то есть, что-то просто пробеливает». Если это так в вашем случае, вам придется отказаться от второго условия потому что пустые строки не попадут в if-тело. – jeromeyers

0

Для пробельных:

if (!String.IsNullOrEmpty(myString) && String.IsNullOrWhiteSpace(myString)) 

По дням недели:

using System.Linq; 

...

const string[] DaysOfWeek = {"monday", "tuesday", etc...} 

...

if (DaysOfWeek.Any(x => String.Equals(x, myString, StringComparison.OrdinalIgnoreCase))) 
0

Есть много способов,чтобы обмануть этого кота, но вот образец, который иллюстрирует, что вы можете сделать.

void Main() 
{ 
    string day = "monday"; 
    if (StringIsDayOfWeek(day)) 
    Console.WriteLine("is day of week"); 
    else 
    Console.WriteLine("is not day of week"); 

    string s = ""; 
    if (WhitespaceOnly(s)) 
    Console.WriteLine("whitespace"); 
    else 
    Console.WriteLine("no whitespace"); 
} 

bool StringIsDayOfWeek (string day)  
{  
    return Enum.GetNames(typeof(DayOfWeek)).Contains(day,  StringComparer.OrdinalIgnoreCase); 
} 

bool WhitespaceOnly(string s) 
{ 
    return s!=null && string.IsNullOrWhiteSpace(s); 
} 
Смежные вопросы