当前位置:  开发笔记 > 编程语言 > 正文

何时使用FOR-CASE(Foreach /在C#中切换)?

如何解决《何时使用FOR-CASE(Foreach/在C#中切换)?》经验,为你挑选了1个好方法。

在我正在研究的项目中,我发现了似乎是FOR-CASE结构的C#等价物:

foreach (string param in params.Split(';'))
{
    string[] parts = param.Split('=');
    string key = parts[0].Trim().ToLower();
    string value = parts[1].Trim();
    switch (key)
    {
        case "param1": this.param1 = value; break;
        case "param2": this.param2 = value; break;
        case "param3": this.param3 = value; break;
        case "param4": this.param4 = value; break;
        default: break;
    }
}

(变量名称已更改以保护有罪.)

你会如何实现这个代码?



1> Guge..:

我不认为你问题中的代码与你链接的代码有什么关系....

问题中的代码看起来像我编写命令行工具时可能会做的事情.

我是不是因为没有看到问题代码中的错误而愚蠢?

另一种方法是使用反射来填充参数值变量.我有时候也是这样做过的.

BTW:我曾经用脚本语言编写了一个程序,它将switch作为唯一的流控制机制,没有gosub/return.我程序中的代码结构有点像你链接的代码.对一种指令变量进行大规模切换,在每种情况结束时重新分配,并在交换机周围进行几乎无限循环.它完成了工作.

推荐阅读
贴进你的心聆听你的世界
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有