2015-06-12 3 views
0

Я пытаюсь записать оператор if, который выполняется, если строка содержит любой неалфаунумный символ, за исключением подчеркивания.Проверьте, не содержит ли строка строки, кроме символа подчеркивания

Это то, что у меня есть, и я пытаюсь понять простой способ добавить исключение для подчеркивания, но у меня возникают трудности. (где ключ - строка).

// Check for non-alphanumerics except underscore 
if (!(key.All(char.IsLetterOrDigit)))           
{ 
    validationResult = false; 
} 
+1

Что вы имеете в виду _I'm, имеющим difficulty_? –

+0

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

ответ

4

Вам просто нужно расширить логику в All:

if (!(key.All(c => char.IsLetterOrDigit(c) || c=='_'))) 
+0

Спасибо. Это именно то, что мне нужно. Будет помнить в следующий раз. –