[小技巧]C# 根据类型的字符串描述,对数值进行类型转换

条件

  • 已知 类型 的字符串 (比如 “System.Int32”)
  • 已经有一个值 比如 var b = "11"
  • 求如何将 b转成int32 类型

问题核心

  • 不像采用if else 的方式进行判断,然后使用Int.Prase的方式进行转换(是因为工作情景中包含有多种基本类型,写起来累,想偷懒)

解决办法

  [TestMethod]
        public void MyTestMethod4()
        {
        	//如果有多个请进行for操作
            var a = "11";
            //获取类型
            var ty = Type.GetType("System.Int32");
            //数值转换
            //这里需要注意,有可能出现异常,根据实际确实是否需要try catch
            var b = Convert.ChangeType(a, ty);
            //得到结果类型用于预言判定
            var t = b.GetType();
            Assert.AreEqual(t, typeof(int));
        }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值