我有这段代码
Int32 clientiid = row["CodCliente "].ToInt();
但是这被标记为错误告诉并且您错过了指令或引用 我应该添加什么才能使ToInt工作? 我用过这个参考文献。提前谢谢
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using MySql.Data.MySqlClient;
using System.Data;
using System.Data.SqlClient;
using System.Text;
using System.Configuration;
Int32 clientiid = row["CodCliente "].ToInt();
答案 0 :(得分:3)
C#中没有ToInt()
方法。
如果您在int
类型的表达式中有一个装箱object
值,则只需将其转换为:
int clientId = (int)row["CodCliente"];
如果您不确定表达式的运行时类型是什么(例如,如果它可能是long
或decimal
,甚至是string
),您可以调用{ {1}},它会找出它的实际内容,然后将其转换为Convert.ToInt32()
。
有关详细信息,请参阅this excellent blog post。
答案 1 :(得分:2)
您还可以使用以下方法
Convert.ToInt32(row["CodCliente"]);
答案 2 :(得分:1)
C#编译器告诉您它无法识别.ToInt()
方法。所以应该声明或者使用这种方法进行汇编应该在文档的标题中引用。
你可以写这样的东西(基于行数据的返回类型的扩展方法);如果row["index"]
返回字符串,例如:
public static int ToInt(this string number)
{
return int.Parse(number);
}
答案 3 :(得分:0)
你正在调用方法错误。你需要做(假设值是一个字符串)Convert.ToInt32(row["CodCliente "])
你也可以像我喜欢的(int)row["CodCliente "]
一样投射。
答案 4 :(得分:0)
没有Object.ToInt()
方法。你需要使用:
Convert.ToInt32(row["CodCliente "]);
或者
int.Parse(row["CodCliente "]);
或者,如果该值已经是行中的int,则只需转换:
(int)row["CodeCliente "];
答案 5 :(得分:0)
使用convert:
int clientId = Convert.ToInt32(row["CodCliente"]);
答案 6 :(得分:0)
row
的日期类型是什么?索引器row[string index]
返回什么数据类型?该类型是否有ToInt()
方法?是否有适用于该类型的扩展方法ToInt()
?
类或结构是否可以转换为int(例如,row["foo"] is int
是否返回true?如果是,您可以简单地转换它,因此:int x = (int) row["foo"]
。
如果object是字符串,您可以使用int.Parse()
或int.TryParse()
。