【问题标题】:get single element from list in C#从 C# 中的列表中获取单个元素
【发布时间】:2014-01-07 06:25:16
【问题描述】:

我有一个列表,其中包含多个项目。现在我想获得第一个元素的值tRecordCount。我正在尝试,但收到错误System.FormatException:输入字符串格式不正确。

谁能告诉我这段代码有什么问题?

 ((HiddenField)GridViewPagingControl.FindControl("TotalRows")).Value = Convert.ToString(List.First(item => item.tRecordCount == Convert.ToInt32("tRecordCount")));

我也尝试过FirstOrDefaultSingle,但没有一个有效。 tRecordCount 的返回类型是 int。

提前致谢

【问题讨论】:

  • 添加更多代码。如果字符串不是有效的integer,Convert.ToInt32("AnyString") 总是会抛出这个错误。
  • 你在这行做了很多。首先获取您的记录,然后将其转换,最后您可以将其设置为您的控制。这样更容易找到你的错误;-)
  • 确定这部分“Convert.ToInt32("tRecordCount")”总会抛出异常

标签: asp.net linq c#-4.0


【解决方案1】:

可能你想要的就是这个。

((HiddenField)GridViewPagingControl.FindControl("TotalRows")).Value = Convert.ToString(List.First().tRecordCount);

【讨论】:

  • 感谢@Devraj Gadhavi
【解决方案2】:

你的陈述有问题

Convert.ToInt32("tRecordCount")

正确的语法

Convert.ToInt32("/*valid integer value*/")

如果 tRecordCount 是可变的,那么这个语句应该是

Convert.ToInt32(tRecordCount)

【讨论】:

  • 但 tRecordCount 总是返回 int
  • 那么应该是Convert.ToInt32(tRecordCount),去掉那些'"'
【解决方案3】:

问题是:

Convert.ToInt32("tRecordCount")

您不能将字符串转换为 int

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-01-14
    • 1970-01-01
    • 2014-09-17
    • 2012-08-22
    • 2012-04-04
    • 1970-01-01
    • 2010-10-23
    相关资源
    最近更新 更多