|
var类型是隐含类型,你from的结构是什么类型,它就是什么类型,不用类型转换吧!!
如果须要转换的话,int aa=cid;应该能行的吧!!
你怎么将一个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>上面,就可以返回第一个成员了。 你的rsd.Channel_1是什么类型? 你这样是会返回IQueryable<你rsd.Channel_1的类型>这样的类型 是一个集合. 你可以使用cid.ElementAt(N); 来取出第N个数据, 也可以用cid.First(); 来取第一个数据. 得出的结果就是你rsd.Channel_1的类型. 你想怎转换就怎转换.. 你那个CID是什么? 如果是Channel 的一个字段,Channel.CID,那么你可以直接用Select来返回 Select Channel.cid 之后,你会获得 Cid 所对应类型的 一个数组(实际是可枚举变量组,泛型的) 如果你要换成Int 那就, 使用 Select ctype(channel.cid,int) 就可以了,之后应该是 int 数组 |