【问题标题】:convert value to datatype in string format将值转换为字符串格式的数据类型
【发布时间】:2014-05-15 08:12:18
【问题描述】:

我是一名 c# 初学者,正在使用 Visual Studio-2010 中的 Silver Light-5 进行 Web 开发。我有我的 GUI 运行我的代码,它的 GUI 由 xaml 创建,并且按钮点击在 c# 中处理。

现在我要实现的是:

我正在尝试创建一个 GUI,在其中我使用组合框,其中将包含这样的选项(请参阅此链接)http://prntscr.com/36l58s 在此链接中,我从 5 个给定数据类型(字节、sbyte)中选择一个数据类型,短,整数,长)。之后,我想将此数据类型分配给 c# 代码中的一个变量,如下所示:(假设我在其中选择了“short”)。 然后我想将它分配给一个变量(假设这里是“varble”)像这样short varble =1000;

怎么做?

我的 xaml 代码是:

它的 c# 代码是(在构造函数内部):

            comboBox1.Items.Add("byte");
            comboBox1.Items.Add("sbyte");
            comboBox1.Items.Add("short");
            comboBox1.Items.Add("int");
            comboBox1.Items.Add("long");

ComboBox 的按钮点击事件是:

private void comboBox1_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
}

我为什么要这样做? :

实际上,我只是想创建一个 GUI,在其中我可以在运行时在给定的指定选项中选择变量的数据类型,我想使用组合框是最合适的。这个选择的dataType(例如前面例子中的short)选择了dataType我然后分配给我在c#代码中的一个变量。(实际上我正在读取我的二进制文件,我必须选择读取的字节存储在一个必须具有的变量中16/32/64 位整数中的 dataType 选项(如 short、int、long),应该由 COMBO Box 选择)。你能帮我这样做吗?非常感谢(如果我的逻辑不起作用并且您有其他选择,那么请告诉我完整的细节,因为我只是一个初学者)。再次感谢

【问题讨论】:

    标签: c# asp.net silverlight web-applications combobox


    【解决方案1】:

    你可以从下面的代码示例中得到想法:

    var selectedDatatype = "String";
    var valueToConvert = 1;
    var convertedValue = Convert.ChangeType(valueToConvert, Type.GetType("System." + selectedDatatype));
    

    注意:确保下拉列表中填充的项目属于 System 命名空间。因此,您应该使用 Int64

    而不是 long

    【讨论】:

    • 谢谢,这样做我必须保持在切换盒语句中,其中“字符串”是在组合框中的数据类型,并且在选择“字符串”时将是特别的情况。如果选择“字符串”,则可以是请使用 switch-case 语句进行更多解释。
    • 转换时不需要保留switch case语句。将 Combobox 的选定值分配给var selectedDataType 变量。
    • 但请确保当您选择long 时,其组合框值应为“Int64”。 byteByteshortInt16 等也一样...
    • Error1 : 方法 'ChangeType' 没有重载需要 2 个参数并指向行“Convert.ChangeType(valueToConvert, Type.GetType("System." + selectedDatatype));"
    • 为什么将“1”分配给“valueToConvert”?以及它将如何接收 ComboBox 选择的数据类型?因为我无法通过您的代码理解任何内容。你能解释一下吗?非常感谢
    猜你喜欢
    • 2015-08-21
    • 1970-01-01
    • 1970-01-01
    • 2021-04-10
    • 2017-11-28
    • 2012-06-15
    • 2013-08-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多