【问题标题】:Cannot convert string to uint in c#无法在c#中将字符串转换为uint
【发布时间】:2015-05-28 05:39:04
【问题描述】:

我对 c# 很陌生,由于某种原因,我的号码不会在我的一生中转换。我的代码是:

foreach(var descriptionid in test.items)
{
    ulong description = Convert.ToUInt32(descriptionid.Value.descriptionid);
    Console.WriteLine(description);
}

非常感谢任何帮助!

编辑:这是错误消息:http://gyazo.com/ed87941f4c8226ad6ebfd60879a5f173

【问题讨论】:

  • 问题和错误信息是什么?
  • Noo,它已经是一个字符串,我需要将它转换为一个 uint
  • 根据变量的功能命名变量。无论如何,descriptionid.Value.descriptionid 确实不是一个好习惯。关于你的问题:调试它,进入一个 foreach 循环并了解这个值在它中断时等于什么。顺便说一句,long 是 Int64 而不是 Int32。
  • @ETurns,descriptionId是什么,我看不懂descriptionid.Value.descriptionid?????
  • @ETurns - 用于持久性?比如,用于存储在数据库中或...

标签: c# uint


【解决方案1】:

首先你需要去掉数字末尾的“_0”,就像这样:

string number =  descriptionid.Value.descriptionid.ToString();
string[] nums = number.Split ('_');

比写如下代码:

 ulong description = Convert.ToUInt64(nums[0]);

【讨论】:

  • System.Convert 不包含“ToiUlong”的定义
  • inser Value.descriptionId的值是多少,请给我一个例子
  • 好吧,因为 _ 它无法将字符串解析为数字(int\long 等)。您需要摆脱_0,我将其添加到答案中
  • 知道了,解决办法在这里
  • 'string' 不包含'split' 的定义,并且找不到接受'string' 类型的第一个参数的扩展方法'split'(您是否缺少 using 指令或程序集引用?)
【解决方案2】:

我不知道您的问题和错误是什么(什么是 descriptionid.Value.descriptionid ?????),但您可以像这样更改代码:

foreach(var descriptionid in test.items)
{
    //var description = Convert.ToUInt64(descriptionid.Value.descriptionid);
    var description = Convert.ToUInt64(descriptionid.Value.descriptionid.Split(new char[]{'_'})[0]);

    Console.WriteLine(description);
}

【讨论】:

  • 我更新了帖子以包含错误的屏幕截图!
猜你喜欢
  • 2011-05-11
  • 2022-10-16
  • 2010-09-12
  • 1970-01-01
  • 2013-10-30
  • 2014-03-30
  • 1970-01-01
  • 2021-03-13
  • 2012-08-27
相关资源
最近更新 更多