c# - 将不同类型的变量分配给一种类型

标签 c# type-conversion

作为我正在处理的一个非常简化和愚蠢的例子,假设我有以下带有简单静态 int 属性的类:

public class MyClass
{
    public static int MyVar { get; set; }
}

因此,如果我想通过代码设置该属性,使用诸如以下内容将非常容易:

MyClass.MyVar = 2;

但是,我如何处理(同样,为了简化示例)传入 string 并将其转换为 int

我能想到的唯一方法是创建一个辅助方法,例如:

public class MyClass
{
    public static int MyVar { get; private set; }
    public static void SetMyVar(string sMyVar)
    {
        MyVar = int.Parse(sMyVar);
    }
}

然后在代码中运行:

MyClass.SetMyVar("2");

我很想知道是否有比必须添加额外方法更好的方法来完成此任务。

最佳答案

虽然您绝对不应该这样做,因为它读起来很困惑,但您可以以这种方式创建属性

class MyClass
{
    private static int _property = 0;

    public static object Property
    {
        get
        {
            return _property;
        }
        set
        {
            _property = Convert.ToInt32(value);
        }
    }
}

每当您想将其用作整数时,您都必须将其转换为 int,但这是我能想到的最好的方法。

关于c# - 将不同类型的变量分配给一种类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31344865/

相关文章:

c# - 在 Entity Framework 中更新实体的最佳方式

c# - 如何在不提供凭据的情况下将安全的 rss 提要读入 SyndicationFeed?

type-conversion - 有更好的方法将浮点图像转换为整数图像吗?

c - GCC 不在 printf 中进行默认类型转换

在 C 中将 int 转换为 char

c# - LINQ 转换问题

c# - 将 csv 加载到 oleDB 中并将所有推断的数据类型强制为字符串

c# - 从流中实例化位图时出现 ArgumentException

c# - 来自 c# 程序的 HTTP 请求,不需要响应

c - 将有符号字符读为无符号字符 - 类型提升