학교 과제에 약간의 문제가 있습니다. 문제는 사용자 입력을 통해 foreach 루프를 검색한다는 것입니다. 가장 큰 문자 또는 가장 작은 문자를 표시해야하지만 Hello를 삽입 할 때! 가장 큰 가치를 표시합니다! 이 예제는 소문자 o라고 가정합니다. 내 코드는 다음과 같습니다. 이 웹 사이트에서 처음으로 지저분 해 보일 경우 용서하십시오.이 작업을 빨리 완료해야합니다.ASCII 값으로 대문자와 소문자를 계산 C#
이것은 모두 Visual Studio의 Windows 포럼 앱에서 수행됩니다.
if (UI_TB_UserInput.Text.Length > 0)
{
foreach (char c in UI_TB_UserInput.Text)
{
char min = UI_TB_UserInput.Text[0];//?
char max = UI_TB_UserInput.Text[0];//?
if (c < min)
{
min = c;
}
if (c > max)
{
max = c;
}
if (UI_RB_Min.Checked)
{
UI_LB_MinMaxOutput.Text = min.ToString();
}
else
{
UI_LB_MinMaxOutput.Text = max.ToString();
}
}
}
else
{
UI_LB_MinMaxOutput.Text = "";//If not > 0 then display blank
}
도움이 필요하면 문제를 상당 부분 좁히고 문제를 확실하게 재현 할 수있는 좋은 [mcve]를 제공해야합니다. 여기에 적힌 코드를 토대로, 나에게 모든 것은 틀린 것은'min'과'max' 변수의 선언과 초기화가'foreach' 루프 외부에 (즉, 바로 앞에) 있다는 것입니다. 그러나 완전하고 최소한의 예가 없으면 틀린 다른 것이 있는지 확실하게 말할 수는 없습니다. –
루프 내에서의 선언은 실제로 나쁜 습관이지만,이 코드가 올바르게 작동하지 않는 이유는 min과 max의 초기 할당이 루프 내에서 이루어지기 때문입니다. –
ASCII 코드를 가져 오는 것이 질문의 중요한 부분이며, 놓친 것처럼 보입니다. :-) – Arti