나는 한 달의 수를 반환 할 그리고 난 함수를 만들었지 만 항상 반환 C#을 기능에 한 달의 수를 반환 누군가 wath가 틀렸다고 말해줘? 나는 초보자이다!어떻게</p> <p>이 공은 내 코드입니다
답변
다음과 같이 그것을 할 좋을 것 :
switch (s.Trim().ToUpper())
{
case "JANUARY": return 1;
case "FEBRUARY": return 2;
// etc.
}
return 0;
이유 :
switch
로 시작하도록 최적화 (작은 포인트 만 언급 할 가치)입니다.- 값이 있으면 나머지 모든
if
수표는 무의미합니다. - "1 월", "1 월"및 "1 월"과 "1 월"모두가 1을 반환한다고 가정하면
Trim()
및ToUpper()
전화가 처리됩니다. 여기
사용에 대한 예는 다음과 같습니다 :DateTime.ParseExact(monthName, "MMMM", CultureInfo.CurrentCulture).Month
왜 기능 내장 사용하지 것이다 당신이 초보자,
How to parse a month name (string) to an integer for comparison in C#?
너 혼란 스럽 니? 'Month.toInt'는 빌트인 함수가 아닙니다. 링크 된 질문의 OP는 * 이와 비슷한 것이 있는지 물어 보는 것이 었습니다. 실제로 받아 들여지는 대답은'DateTime.ParseExact'를 사용하여 제안합니다. –
'Month.toInt' 연산은 없습니다. 당신은'DateTime.Month' 속성을 찾고 있습니다. –
너무 많은 것을 입력하면 혼란 스럽습니다. 나는 올바른 것으로 편집했다. – Avitus
확인을하지만, 여전히 귀하의 처분에 도구가 있습니다. 중단 점을 설정하고 디버거에서 단계별로 수행하십시오. 당신이하는 것처럼 s
과 nr
의 가치를보십시오. 어떤 if
문장이 nr =
부분을 실행하고 어떤 부분을 실행하지 않는지 확인하십시오. 그렇다면 당신은 이해할 것입니다. 그것이 의미하는 바대로 나는 당신의 실제 코드를 붙여 넣은 것 같지 않습니다, 왜냐하면 당신의 질문은 세미 콜론이 빠져 있고 심지어 컴파일되지 않을 수도 있기 때문입니다. 그것은 당신이 그것을 길고 복잡한 LINQ 방법을 할 수있는 간단하고 쉬운 방법을 왜
string value = "June";
DateTime result;
bool ok;
ok = DateTime.TryParseExact(value, "MMMM",
CultureInfo.CurrentCulture, DateTimeStyles.None, out result);
if (ok)
{
int monthNumber = result.Month;
Console.WriteLine(monthNumber);
}
이 샘플로 시험 인쇄를 해보십시오!
int GetMonthNumber(string month)
{
return System.Globalization.DateTimeFormatInfo.CurrentInfo.MonthNames
.Select((m, i) => new { Month = m, Number = i + 1 })
.First(m => m.Month.ToLower() == month.ToLower())
.Number;
}
:
- 1. 이 내 코드입니다 파이썬
- 2. .stop()이 내 코드입니다 호버 선택
- 3. 이 내 코드입니다 구글 AJAX 피드 API를
- 4. 여기 내 코드입니다
- 5. 나는이 내 코드입니다 JQuery와
- 6. 다시 금지하거나이 내 코드입니다 장고
- 7. 가장 좋은 방법은 내 코드입니다
- 8. 이 내가 사용하고 코드입니다 펄 및 GD
- 9. SelectedValue 널은 그래서 이것은 영문 내 코드입니다
- 10. 일부 필드 다음은 내 컨트롤러 코드입니다 ModelBinder를
- 11. 여기 dropdownlist와 스피너에 대한 내 코드입니다 :
- 12. 왜 내 코드입니다 구글 -지도 - V3
- 13. 매 10 내가 GAE를 사용</p> <p>을 장고이 내 코드입니다
- 14. 안드로이드 응용 프로그램이 내 시작 화면에 내 코드입니다
- 15. 는이 코드입니다 파이어 폭스
- 16. 오류 C2440 : '인수':에서 변환 할 수 없습니다 '시스템 :: 개체 ^'이 내 코드입니다
- 17. 파이썬 목록이 코드입니다
- 18. 레일 3.1 '어디'나는 여러 조건 레코드를 찾으려면이 내 코드입니다
- 19. 이 있습니까 <%와 <% =
- 20. 오버로드 << 내 수업
- 21. 이</p> <p>이 컴파일, VS2010
- 22. 내 <select>이 IE8에서 작동하지 않는 이유는 무엇입니까?
- 23. 내 vimrc에서 매핑 <C-Tab>이 Ubuntu에서 실패합니다.
- 24. 내 C/C++ 소스에 #include # <omp.h>이 필요합니까?
- 25. PHP :이 같은 것을보고 내 컨트롤러에 코드를 싶습니다</p> <p>서로
- 26. 문자열 <br/>이
- 27. 이 @ $ (<filename>) 표기법
- 28. 이 내 수요이다 장고
- 29. 이 내 jQuery 코드입니다 오류가 페이지의 HTML 코드를 삽입하는 동안 무슨 일이 있었에 대해 내가 알고 싶은 JQuery와
- 30. 내 PHP ftp_put에 무슨 문제가 있습니까?</p> <p>이 오류 :
"1 월"과 "1 월"을 비교하려고합니까? – Gabe
문제에 대한 답변이 아니지만 DateTimeFormatInfo.MonthNames에서 현재 문화권의 Month 문자열 배열을 반환해야합니다. 그런 다음 색인을 사용하여 월 이름에서 월 번호를 가져올 수 있습니다. http : //msdn.microsoft.com/en-us/library/system.globalization.datetimeformatinfo.monthnames%28v=VS.71%29.aspx – JoeBilly