【问题标题】:Check if a string can be converted to another type (C#)检查字符串是否可以转换为另一种类型(C#)
【发布时间】:2012-08-16 03:56:45
【问题描述】:

我正在用 C# 做一些测试,现在我需要知道一些事情。我创建了一个类,如下所示:

class DChanger
{
    //Just ignore this:
    private string section = Csuc.CPanel.CPanelSection.Appearance;
    //Then the constructor: DChanger dchange = new DChanger(Internet);
    public void DChanger(string subsection)
    {
        //Code
    }
}

那么,现在。我想检查“小节”是否可以转换为另一种类型。例如,我有一个枚举:

enum Subsections { Internet, Programming };

我想检查“subsection”是“Internet”还是“Programming”(在这个例子中,因为真正的枚举有很多更多的部分)。 我可以这样做吗?谢谢!

【问题讨论】:

  • 在您的文本和代码缩进之间添加一个新行以使其格式正确:)
  • 糟糕,抱歉。你保存了我的格式!
  • 你可以使用 TryParse() 吗?
  • 您是专门询问枚举吗?其他类型呢?
  • 或者您只是在谈论将字符串与字符串枚举中的字符串进行比较?

标签: c# types enums


【解决方案1】:

您可以使用 Enum.Parse 并监视 ArgumentException 类型的异常。 您也可以使用 Enum.TryParse。

更多信息在这里http://msdn.microsoft.com/en-us/library/essfb559.aspx

【讨论】:

  • ... 和首选。如果可以,请不要使用异常来控制流程。
【解决方案2】:

为了快速测试,最好使用 Enum 类进行测试:

public void DChanger(string subsection)
    {
       bool b = Enum.GetNames(typeof(Subsections)).Contains(subsection);
    }

【讨论】:

    猜你喜欢
    • 2013-07-14
    • 1970-01-01
    • 1970-01-01
    • 2011-06-07
    • 1970-01-01
    • 2011-07-26
    • 2022-10-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多