在内部使用 switch 语句时 c# 函数出错
Error in c# function while using swith statement inside
我的 C# 代码有问题,我真的不知道为什么会出错!在我看来它应该可以工作,但它t. It doesn
甚至无法编译。即函数:
public bool AddColumn(string tableName, string colName, ColType colType)
{
switch(colType)
{
ColType.MYSQL_DOUBLE:
Console.Write("DOUBLE");
ColType.MYSQL_INT:
Console.Write("INT");
default:
Console.Write("DEFAULT");
}
return true;
}
错误提示,缺少一个“;”和 '}'。因此,如果 If 尝试在函数的内容中发表评论,例如:
public bool AddColumn(string tableName, string colName, ColType colType)
{/*
switch(colType)
{
ColType.MYSQL_DOUBLE:
Console.Write("DOUBLE");
ColType.MYSQL_INT:
Console.Write("INT");
default:
Console.Write("DEFAULT");
}*/
return true;
}
我可以编译程序。因此 switch 语句内部有问题,不是吗?希望有人能帮我解决这个问题...
仅供参考,'ColType 类型在程序中声明:
public enum ColType
{
MYSQL_DOUBLE = 0,
MYSQL_INT = 1
};
您缺少 case
- 和 break
- 语句来区分您的开关中的大小写:
switch(colType)
{
case ColType.MYSQL_DOUBLE:
Console.Write("DOUBLE");
break;
case ColType.MYSQL_INT:
Console.Write("INT");
break;
default:
Console.Write("DEFAULT");
break;
}
还要考虑这个:
Execution of the statement list in the selected switch section begins
with the first statement and proceeds through the statement list,
typically until a jump statement, such as a break, goto case, return,
or throw, is reached.At that point, control is transferred outside the
switch statement or to another case label. (https://msdn.microsoft.com/library/06tc147t.aspx)
这意味着虽然 case
将指示 switch-case 的开始 break
(或任何其他中断执行的语句,例如 return
或 throw
)指示它的结束。
c# 中正确的 switch case
https://msdn.microsoft.com/en-sg/library/06tc147t.aspx
int caseSwitch = 1;
switch (caseSwitch)
{
case 1:
Console.WriteLine("Case 1");
break;
case 2:
Console.WriteLine("Case 2");
break;
default:
Console.WriteLine("Default case");
break;
}
您错过了 switch
中的 case
关键字,并且在每种情况下都输入了 break
,值得查看 MSDN
上的文档
switch(colType)
{
case ColType.MYSQL_DOUBLE:
Console.Write("DOUBLE");
break;
case ColType.MYSQL_INT:
Console.Write("INT");
break;
default:
Console.Write("DEFAULT");
break;
}
我的 C# 代码有问题,我真的不知道为什么会出错!在我看来它应该可以工作,但它t. It doesn
甚至无法编译。即函数:
public bool AddColumn(string tableName, string colName, ColType colType)
{
switch(colType)
{
ColType.MYSQL_DOUBLE:
Console.Write("DOUBLE");
ColType.MYSQL_INT:
Console.Write("INT");
default:
Console.Write("DEFAULT");
}
return true;
}
错误提示,缺少一个“;”和 '}'。因此,如果 If 尝试在函数的内容中发表评论,例如:
public bool AddColumn(string tableName, string colName, ColType colType)
{/*
switch(colType)
{
ColType.MYSQL_DOUBLE:
Console.Write("DOUBLE");
ColType.MYSQL_INT:
Console.Write("INT");
default:
Console.Write("DEFAULT");
}*/
return true;
}
我可以编译程序。因此 switch 语句内部有问题,不是吗?希望有人能帮我解决这个问题...
仅供参考,'ColType 类型在程序中声明:
public enum ColType
{
MYSQL_DOUBLE = 0,
MYSQL_INT = 1
};
您缺少 case
- 和 break
- 语句来区分您的开关中的大小写:
switch(colType)
{
case ColType.MYSQL_DOUBLE:
Console.Write("DOUBLE");
break;
case ColType.MYSQL_INT:
Console.Write("INT");
break;
default:
Console.Write("DEFAULT");
break;
}
还要考虑这个:
Execution of the statement list in the selected switch section begins with the first statement and proceeds through the statement list, typically until a jump statement, such as a break, goto case, return, or throw, is reached.At that point, control is transferred outside the switch statement or to another case label. (https://msdn.microsoft.com/library/06tc147t.aspx)
这意味着虽然 case
将指示 switch-case 的开始 break
(或任何其他中断执行的语句,例如 return
或 throw
)指示它的结束。
c# 中正确的 switch case
https://msdn.microsoft.com/en-sg/library/06tc147t.aspx
int caseSwitch = 1;
switch (caseSwitch)
{
case 1:
Console.WriteLine("Case 1");
break;
case 2:
Console.WriteLine("Case 2");
break;
default:
Console.WriteLine("Default case");
break;
}
您错过了 switch
中的 case
关键字,并且在每种情况下都输入了 break
,值得查看 MSDN
switch(colType)
{
case ColType.MYSQL_DOUBLE:
Console.Write("DOUBLE");
break;
case ColType.MYSQL_INT:
Console.Write("INT");
break;
default:
Console.Write("DEFAULT");
break;
}