Сокращение кода
Цитата: Удаленный пользователь от 18.11.2021, 17:47Добрый день. Есть проблема. Не могу понять как сделать проверку на то, какое будет последнее число массива. Точнее могу, но код становить громоздким. Есть ли какой то метод сократить проверку в if?
[spoiler title=""]
button18.Click += (s, e) => { char[] arr = label1.Text.ToCharArray(); int length = label1.Text.Length - 1; if (arr[length] == '1' || arr[length] == '2' || arr[length] == '3' || arr[length] == '4' || arr[length] == '5' || arr[length] == '6' || arr[length] == '7' || arr[length] == '8' || arr[length] == '9' || arr[length] == '0') { label1.Text += '*'; } }
[/spoiler]
Добрый день. Есть проблема. Не могу понять как сделать проверку на то, какое будет последнее число массива. Точнее могу, но код становить громоздким. Есть ли какой то метод сократить проверку в if?
button18.Click += (s, e) =>
{
char[] arr = label1.Text.ToCharArray();
int length = label1.Text.Length - 1;
if (arr[length] == '1' || arr[length] == '2' || arr[length] == '3' || arr[length] == '4' || arr[length] == '5' || arr[length] == '6' || arr[length] == '7' || arr[length] == '8' || arr[length] == '9' || arr[length] == '0')
{
label1.Text += '*';
}
}
Цитата: Удаленный пользователь от 19.11.2021, 00:05Привет! По коду вижу, что Вы проверяете является ли последний символ десятичной цифрой. Сократить можно так:
if (char.IsDigit(label1.Text.Last()))
Привет! По коду вижу, что Вы проверяете является ли последний символ десятичной цифрой. Сократить можно так:
if (char.IsDigit(label1.Text.Last()))
Цитата: Удаленный пользователь от 19.11.2021, 16:26Цитата: Вася от 19.11.2021, 00:05Привет! По коду вижу, что Вы проверяете является ли последний символ десятичной цифрой. Сократить можно так:
if (char.IsDigit(label1.Text.Last()))if (char.IsDigit(label1.Text.Last()))if (char.IsDigit(label1.Text.Last()))
Спасибо! Можно ли совет? Как мне реализовать считывание с label1 символа радикала и возведения в корень? Есть ли такие символы? Просто с label.Text я получаю результат выражения, но как мне их занести в этот самый label ?
Цитата: Вася от 19.11.2021, 00:05Привет! По коду вижу, что Вы проверяете является ли последний символ десятичной цифрой. Сократить можно так:
if (char.IsDigit(label1.Text.Last()))if (char.IsDigit(label1.Text.Last()))if (char.IsDigit(label1.Text.Last()))
Спасибо! Можно ли совет? Как мне реализовать считывание с label1 символа радикала и возведения в корень? Есть ли такие символы? Просто с label.Text я получаю результат выражения, но как мне их занести в этот самый label ?
Цитата: Удаленный пользователь от 04.12.2021, 18:34Цитата: Вася от 19.11.2021, 00:05Привет! По коду вижу, что Вы проверяете является ли последний символ десятичной цифрой. Сократить можно так:
if (char.IsDigit(label1.Text.Last()))if (char.IsDigit(label1.Text.Last()))if (char.IsDigit(label1.Text.Last()))
Здравствуйте! Похожая проблема, только теперь мне нужно проверить не содержит ли СТРОКА 1,2,3,4 и т.д. Но разбить на массив char-ов не могу. Писать через Contains все случаи? Или есть опять какой то метод?
Цитата: Вася от 19.11.2021, 00:05Привет! По коду вижу, что Вы проверяете является ли последний символ десятичной цифрой. Сократить можно так:
if (char.IsDigit(label1.Text.Last()))if (char.IsDigit(label1.Text.Last()))if (char.IsDigit(label1.Text.Last()))
Здравствуйте! Похожая проблема, только теперь мне нужно проверить не содержит ли СТРОКА 1,2,3,4 и т.д. Но разбить на массив char-ов не могу. Писать через Contains все случаи? Или есть опять какой то метод?
Цитата: Удаленный пользователь от 05.12.2021, 12:17Здравствуйте! Не самый короткий способ, но можно сделать с помощью расширений
[spoiler title="Код"]public static class Extensions { public static bool ContainsDigit(this string str) { foreach (char c in str) { if (char.IsDigit(c)) { return true; } } return false; } }[/spoiler]
Ну и сама проверка
if (label1.Text.ContainsDigit())
Здравствуйте! Не самый короткий способ, но можно сделать с помощью расширений
public static class Extensions
{
public static bool ContainsDigit(this string str)
{
foreach (char c in str)
{
if (char.IsDigit(c))
{
return true;
}
}
return false;
}
}
Ну и сама проверка
if (label1.Text.ContainsDigit())
Цитата: admin от 05.12.2021, 12:21[spoiler title="Небольшой спойлер:"]Если успею, то в этом месяце сниму урок, который избавит от:
arr[length], arr[length], arr[length], arr[length], arr[length], arr[length], arr[length]......
text.Replace("", "").Replace("", "").Replace("", "").Replace("", "").Replace("", "").Replace("", "")......
key.OpenSubkey(x).GetValue("") && key.OpenSubkey(x).GetValue("") && key.OpenSubkey(x).GetValue("") && key.OpenSubkey(x).GetValue("").....[/spoiler]
Скопированоarr[length], arr[length], arr[length], arr[length], arr[length], arr[length], arr[length]......Скопированоtext.Replace("", "").Replace("", "").Replace("", "").Replace("", "").Replace("", "").Replace("", "")......Скопированоkey.OpenSubkey(x).GetValue("") && key.OpenSubkey(x).GetValue("") && key.OpenSubkey(x).GetValue("") && key.OpenSubkey(x).GetValue("").....