无法将类型“object”隐式转换为“string”。存在一个显式转换(是否缺少强制转换?

今天在写代码的时候碰到这个问题。
后来发现自己的代码在定义方法的时候使用了string类型的返回值,但实际上自己返回的ar[ind]不是一个string类型的返回值。而方法前面声明的返回值类型要和实际的返回值类型相一致,所以报错。
加上.ToString()强制转换了一下,就解决问题了。
当然,这种解决方案实际上是不完美的。因为这个ar里面的元素可以是多种类型的,我这样一操作就统统把它们变成string类型了。
完美的解决方案我没去尝试过,只是YY了一下,估计运用out关键词可以实现多种返回值类型吧,这样,定义一些自己需要的返回值类型来针对具体的需求。
因为我目前的需求恰好吻合它返回string类型的值,所以这里这个不完美的问题暂时没有对我形成困扰。

public static string getRamdom(ArrayList ar)//放进一个动态数组就能得到一个动态数组中的随机元素,并且转换为string类型
        {
            Random ran = new Random();
            int ind = ran.Next(0, ar.Count);
            return ar[ind]//.ToString();
        }
  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值