【发布时间】:2009-01-28 22:22:22
【问题描述】:
我目前在我正在处理的一些代码中做这样的事情:
public CommandType GetCommandTypeFromCommandString(String command)
{
if(command.StartsWith(CommandConstants.Acknowledge))
return CommandType.Acknowledge;
else if (command.StartsWith(CommandConstants.Status))
return CommandType.Status;
else if (command.StartsWith(CommandConstants.Echo))
return CommandType.Echo;
else if (command.StartsWith(CommandConstants.Warning))
return CommandType.Warning;
// and so on
return CommandType.None;
}
我想知道在 C# 中是否有更有效的方法来执行此操作。这段代码需要每秒执行很多次,我对完成所有这些字符串比较所花费的时间不太满意。有什么建议么? :)
【问题讨论】:
-
CommandConstants.Acknowledge 等常量有多长(有多少个字符)?
-
2 到 3 个字符,我认为最大是 4 个。
-
您的测试是否在顶部使用最常见的命令类型进行排序?
标签: c# optimization