使这段代码更好

cap*_*gon 0 .net c# design-patterns

我有一个程序具有以下代码:

foreach (string section in DataAccessLayer.AcceptedSections)
{
    switch (section)
    {
        case "Section1":
            Console.WriteLine("Section 1");
            break;
        case "Section2":
            Console.WriteLine("Section 2");
            break;
        case "Section3":
            Console.WriteLine("Section 3");
            break;
        default:
            Console.WriteLine("Default section");
            break;
    }                    
}
Run Code Online (Sandbox Code Playgroud)

无论如何,我可以做这个代码所做的事情而不在案例中再次提供该部分的字符串?DataAccessLayer.AcceptedSections是动态的,我不想在我的代码中添加另一个部分大小写,每次新的部分出现时重建和重新部署.现在是星期五,我的思绪不太好.

例如: 当第4节添加到数据库时,我不想添加以下代码:

case "Section4":
    Console.WriteLine("Section 4");
     break;
Run Code Online (Sandbox Code Playgroud)

Ree*_*sey 5

如果字符串始终是"SectionN",您可以直接处理它:

if (section.StartsWith("Section"))
    Console.WriteLine(section.Insert(7, " "));
else
    Console.WriteLine("Default Section");
Run Code Online (Sandbox Code Playgroud)