gpt4 book ai didi

c# - 避免在 switch 语句中进行硬编码

转载 作者:太空宇宙 更新时间:2023-11-03 17:57:26 26 4
gpt4 key购买 nike

我有一个具有两个属性的对象:TextType .

为了避免对类型进行硬编码,我将它们放在数据库中,以便将来添加。目前类型为URL, Username and ID .

但是,我现在想运行一个 Utility 方法来清理对象的 Text字段基于 Type对象是(例如,如果它是 URL,则添加“http://”)。

有没有办法在 Utilities 类中执行此操作,而无需在 switch 语句/if else block 中硬编码类型。

switch (type)
{
case 1:
TidyUrl();
case 2:
TidyUsername();
case 3:
TidyID();
default:
break;
}

在这个例子中,我正在硬编码数据库中的 ID('Type' 表),这绝不是一件好事!

有一个更好的方法吗?

最佳答案

您可以使用枚举来帮助提高可读性。

enum MyTypes
{
URL = 1,
UserName = 2,
Id = 3,
}

switch (myType)
{
case MyTypes.URL:
TidyUrl();
case MyTypes.UserName:
TidyUsername();
case MyTypes.Id:
TidyID();
default:
break;
}

这个枚举需要与数据库保持协调。

关于c# - 避免在 switch 语句中进行硬编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7553979/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com