[已解决问题] 关于C#3.0中新关键字var
提问时间: 2008-05-23 17:50
浏览:198 次
语句如下:

   var cid = from channel in rsd.Channel_1 where channel.link == this.link select channel;

其中,怎么把cid转成int类型呢?
提问者:墙头草 - 初学一级
所有回答(4)
var类型是隐含类型,你from的结构是什么类型,它就是什么类型,不用类型转换吧!! 如果须要转换的话,int aa=cid;应该能行的吧!!
3个月前   回答者:JackLee - 小虾三级
你怎么将一个Channel对象转换为int? 如果Channel对象包含一个int型的属性Property1,可以写成下面的样子: var cid = from channel in rsd.Channel_1 where channel.link == this.link select channel.Property1; int i = cid.First(); // 哈哈,我在乱蒙,MSDN坏了,没法查。 大概意思,cid返回的是一个IEnumerable<T>对象,其中的T是由你的Select子句推断出来的。你的例子里面,T就是Channel对象的类型。我给的代码里面,T就是Property1的类型。 而First()函数是一个扩展函数,被挂接到IEnumerable<T>上面,就可以返回第一个成员了。
3个月前   回答者:Colin Han - 老鸟四级
你的rsd.Channel_1是什么类型? 你这样是会返回IQueryable<你rsd.Channel_1的类型>这样的类型 是一个集合. 你可以使用cid.ElementAt(N); 来取出第N个数据, 也可以用cid.First(); 来取第一个数据. 得出的结果就是你rsd.Channel_1的类型. 你想怎转换就怎转换..
3个月前   回答者:小杰 - 菜鸟二级
你那个CID是什么? 如果是Channel 的一个字段,Channel.CID,那么你可以直接用Select来返回 Select Channel.cid 之后,你会获得 Cid 所对应类型的 一个数组(实际是可枚举变量组,泛型的) 如果你要换成Int 那就, 使用 Select ctype(channel.cid,int) 就可以了,之后应该是 int 数组
3个月前   回答者:G yc {Son of VB.NET} - 小虾三级
评论
   您需要登录以后才能回答!
 

我要提问

我的问题


快到期问题

> 问题排行榜

相关链接