【发布时间】:2018-09-18 02:42:00
【问题描述】:
我有一个 List 方法,我需要将枚举值作为列表类型返回。 Status 数据类型是一个枚举对象。
这是我的代码:
public List<string> Statusstring
{
get
{
foreach (Status stat in System.Enum.GetValues(typeof(Status)).Cast<Status>().ToList())
{
status = stat;
}
return new List<string> { status.ToString() };
}
}
这是我的枚举值:
public enum Status
{
Enable,
Disable
}
这是我收到的错误消息:
无法将类型 'System.Collections.Generic.Listchar>' 隐式转换为 'System.Collections.Generic.Liststring>'
有人可以帮我解决这个问题吗?
【问题讨论】:
-
你的方法签名表明你会返回
List<string>,但是.ToList()的字符串返回List<char>。该消息实际上解释了这一点。我猜也许这仍然不是你想要做的,但只有你知道你想要做什么。此外,您对SQL injection 持开放态度。 -
是的@John 如何让它返回字符串而不是字符?我一直在尝试很多方法,但对我没有用。
-
你想在这里做什么?您有一个
while循环,但您在第一个条目上返回。您可能还会遇到另一个关于不返回值的错误,因为reader.Read可能会在第一次调用时返回 false 并且不会进入循环。 -
您的意思是将每个
char转换为字符串并将其作为列表返回?Status.Disable.ToString().Select(c => c.ToString()).ToList(),但我希望这不是你想要的。当然,我不知道你做什么想要什么。 Example -
a) 为什么要使用组合框来表示单个值? b)Prateek 的答案将使您能够从单个值返回列表。