在一次算法看到有人用,但不知道是什么意思.string str = "abcdefgabc";
            var result = from c in str
                         group c by c into g
                         select g;
            foreach (var group in result)
                Console.WriteLine(group.Key + "," + group.Count());
我试着在vs2005,敲入代码时 
var 怎么就不变蓝色!还引用别的程序集吗?

解决方案 »

  1.   

    这个必需在2008中用,属Linq语言,var 可以是任何类型。
      

  2.   

    移到var上看一下它的命名空间不就知道了
      

  3.   

    可惜vs2005可以升级成vs2008.
    唉...怎么用呢.
    先up
    等等....
    看看在结贴!!!!!
      

  4.   

    C#3.0里的Link framework2.0不行 3.5?
      

  5.   

    可惜vs2005不可以升级成vs2008. 
    唉...怎么用呢. 
    先up 
    等等.... 
    看看在结贴!!!!!
      

  6.   

    C#3.0里的Link framework2.0不行 要装framework3.0以上,IDE vs2008,好像现在vs2010都出来的,唉,ms步伐真快啊
      

  7.   

     新的啊 VS2005中不能用的   只能在VS2008和Framework 3.5中用的啊   
     
     建议看看《C#高级编程》第六版  上面写的很详细的
      

  8.   

    goolge输入:
    C##3.0 linq
    Enter-》
      

  9.   

    你属于C#3.0的知识内容,你上MSDN找找相关视屏,会有这方面介绍
      

  10.   

    vs2005和vs2008
    市并存关系,不是升级关系! 
      

  11.   

    var关键字是C# 3.0开始新增的特性,称为推断类型...和VS2005或2008并没有直接的关系...可以赋予局部变量推断“类型”var 而不是显式类型。var 关键字指示编译器根据初始化语句右侧的表达式推断变量的类型。推断类型可以是内置类型、匿名类型、用户定义类型、.NET Framework 类库中定义的类型或任何表达式。在方法范围中声明的变量可以具有隐式类型 var。隐式类型的本地变量是强类型变量(就好像您已经声明该类型一样),但由编译器确定类型。过多使用 var 可能使源代码的可读性在他人眼里变差。建议仅在必要时使用 var,即仅在该变量将用于存储匿名类型或匿名类型集合时才使用它。需要了解的一点是,var 关键字并不意味着“变体”,也不表示该变量是松散类型化变量或后期绑定变量。它只是表示由编译器确定和分配最适当的类型。var 关键字可在下面的上下文中使用:局部变量(在方法范围中声明的变量)上。
    在 for 初始化语句中。
    在 foreach 初始化语句中。
    在 using 语句中在很多情况下,var 是可选的,它只是提供了语法上的便利。但在使用匿名类型初始化变量时,需要使用它。这在 LINQ 查询表达式中很常见。下列限制适用于隐式类型的变量声明:只有在同一语句中声明和初始化局部变量时,才能使用 var;不能将该变量初始化为 null。
    不能将 var 用于类范围的域。
    由 var 声明的变量不能用在初始化表达式中。换句话说,var v = v++; 会产生编译时错误。
    不能在同一语句中初始化多个隐式类型的变量。
    如果一个名为 var 的类型位于范围中,则当您尝试用 var 关键字初始化局部变量时,将收到编译时错误。必须使用 var 隐式类型化的局部变量的唯一情况发生在初始化匿名类型时。在查询表达式中,当难以确定查询变量的确切构造类型时,您会发现 var 也很有用。这种情况可能发生在分组和排序操作中。当在键盘上键入变量的具体类型单调乏味时,或者当该类型显而易见或对提高代码可读性没有作用时,var 关键字也可能有用。只要您和其他必须维护您代码的人员了解到这一点,就可以毫无问题地使用隐式类型化,以达到方便和简洁的效果。
      

  12.   

    在C#3.0中增加了一个变量声明var
    它可以用var来声明任何类型的局部变量。
    后面为LINQ
    参考
      

  13.   

    var 原来是这样啊!很好啊!