当前位置:编程学习 > C#/ASP.NET >>

using System.Linq却没有linq扩展方法的智能感知

很奇怪,项目是.net 3.5,在某个文件中using System.Linq;

例如
string a="abc";

但是却看不到a的扩展方法,比如a.Intersect等等,这是为什么啊 --------------------编程问答-------------------- Intersect本来就跟Linq没有关系。 --------------------编程问答-------------------- Intersect 的扩展方法是加在:IList<T>,ICollection<T>,IDictionary<T>,IEnumable<T> 上的。

string没有实现上面任何接口,当然没有。

a.ToArray(). 就看到了。 --------------------编程问答-------------------- ToArray 写错了,是 ToCharArray() --------------------编程问答-------------------- string a="abc";
a.ToArray().Intersect --------------------编程问答--------------------
引用 2 楼 fangxinggood 的回复:
Intersect 的扩展方法是加在:IList<T>,ICollection<T>,IDictionary<T>,IEnumable<T> 上的。

string没有实现上面任何接口,当然没有。

a.ToArray(). 就看到了。


public sealed class String : IComparable, ICloneable, IConvertible, IComparable<string>, IEnumerable<char>, IEnumerable, IEquatable<string>


你们说的都没错,toCharArray以后确实能看到,可是String明明实现了IEnumerable<char>啊,
还有,关于智能感知,我刚才看了下,vs2008没有,但是vs2010有,对于vs2008,虽然没有智能感知,但我硬写还是可以的,也能通过编译,有人知道原因吗? --------------------编程问答--------------------
引用 1 楼 sp1234 的回复:
Intersect本来就跟Linq没有关系。

这要看怎么理解您这句话了,本身是没啥关系,可是实际上确实有关系 --------------------编程问答-------------------- 你换4.0的试试
3.5的对字符操作不完善
补充:.NET技术 ,  LINQ
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,