我想返回一个月的数量,我做了一个函数,但它总是返回0
这是我的代码:
public int getNrMonth(String s)
{
int nr=0;
if (s.Equals("January"))
nr = 1
if (s.Equals("February"))
nr = 2;
return nr;
}
Run Code Online (Sandbox Code Playgroud)
有人可以告诉我Wath是错的吗?我是初学者!
Avi*_*tus 12
为什么不使用内置函数:
DateTime.ParseExact(monthName, "MMMM", CultureInfo.CurrentCulture ).Month
Run Code Online (Sandbox Code Playgroud)
以下是使用示例:
如何将一个月份名称(字符串)解析为整数,以便在C#中进行比较?
这样做会更好:
switch (s.Trim().ToUpper())
{
case "JANUARY": return 1;
case "FEBRUARY": return 2;
// etc.
}
return 0;
Run Code Online (Sandbox Code Playgroud)
原因:
switch 优化开始(小点,但值得一提).if检查都是毫无意义的.Trim()并ToUpper()呼吁将采取照顾.