<分区>
如何从 DataRow 单元格中解析 int 值?
Int32.Parse(item["QuestionId"].ToString());
此代码有效,但看起来过于冗长。 也可以处理 DBNull 值吗?
标签 c#
<分区>
如何从 DataRow 单元格中解析 int 值?
Int32.Parse(item["QuestionId"].ToString());
此代码有效,但看起来过于冗长。 也可以处理 DBNull 值吗?
最佳答案
如果你知道它是一个int
,你应该相应地转换它,这是最安全和最有效的方法:
int questionId = item.Field<int>("QuestionId"); // similar to (int) item["QuestionId"]
Field
方法也支持可空类型,所以如果它可以为空:
int? questionId = item.Field<int?>("QuestionId");
if(questionId.HasValue) Console.Write(questionId.Value);
如果它实际上是一个 string
(为什么?)您必须将它转换为 string
并使用 int.Parse
:
int questionId = int.Parse(item.Field<string>("QuestionId"));
如果你真的不知道它的类型是什么,你可以使用System.Convert.ToInt32
:
int questionId = System.Convert.ToInt32(item["QuestionId"]);
关于c# - 从 DataRow 单元格解析 int,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17719016/