在下面,我在我的代码中得到一个var类型变量:
var FormID = from n in dtEnDate.AsEnumerable()
where n.Field<int>("Tax_Setup_UID") ==
Convert.ToInt32(item.GetDataKeyValue("Tax_Setup_UID"))
select n.Field<string>("FormID");
Run Code Online (Sandbox Code Playgroud)
这里给了我一个蠢货.现在我想将这个var类型变量转换为int以供下次使用,如果我尝试不转换它会给我一个错误.但我无法做到,请有人帮助我.
你回来select n.Field<string>("FormID"),所以实际的类型var FormID会IEnumerable<string>.
如果您知道查询将返回一个结果,您可以执行以下操作:
int formID = int.Parse(FormID.First());
Run Code Online (Sandbox Code Playgroud)
如果FormID是int您的数据库中的一个,请更改n.Field<string>为n.Field<int>,您可以省略int.Parse().
首先,正如已经指出的那样,var它不是一种自己的类型.相反,它将采用分配给它的值的类型.您可以通过在Visual Studio中将鼠标悬停在其上来查看哪种类型.
你应该在这个例子中找到它的类型IEnumerable<string>.
所以你需要做的第一件事就是得到你想要的东西.假设您只期望一个结果,那么您可以这样做:
var item = FormID.First();//FormID is probably not a good choice for this variable name
Run Code Online (Sandbox Code Playgroud)
然后您可以将转换string成int如下:
int i = int.Parse(item);
Run Code Online (Sandbox Code Playgroud)
要么
int i = Convert.ToInt32(item);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
39270 次 |
| 最近记录: |