计算Linq的行数

gha*_*ani 12 .net c# linq

我是LINQ的新手

我写了以下查询:

var duplicate =
    from  loginId in DataWorkspace.v2oneboxData.me_employees
    where loginId.me_login_name == this.me_login_name
              && loginId.me_pkey != this.me_pkey
    select loginId;
Run Code Online (Sandbox Code Playgroud)

我想计算结果副本中返回的行数

我查了很多文章说使用duplicate.Count().但我在我的智商中看不到count()

我如何从结果中算数

Joh*_*ogo 23

如何使用扩展方法:

 var count = me_employees.Where(me => me.me_login_name == this.me_login_name && me.me_pkey != this.me_pkey).Count();
Run Code Online (Sandbox Code Playgroud)

更好的是:

var count = me_employees.Count(me => me.me_login_name == this.me_login_name && me.me_pkey != this.me_pkey);
Run Code Online (Sandbox Code Playgroud)

大注意:确保您已引用System.Core.System.Data.Linq也是,但我假设你已经引用它.


Kir*_*oll 9

您需要文件顶部的以下行:

using System.Linq;
Run Code Online (Sandbox Code Playgroud)

但是应该有一个小助手图标出现在缺少的引用上Count,Visual Studio会自动添加这一行.

更新:这是一个完整的可编译示例:

using System.Linq;

namespace ConsoleApplication11    {
    class Program
    {
        string me_login_name;
        int me_pkey;

        public static void Main()
        {
            new Program().Run();
        }

        private void Run()
        {
            IQueryable<v2oneboxDataEntity> me_employees = null;

            var duplicate =
                from  loginId in me_employees
                where loginId.me_login_name == this.me_login_name
                        && loginId.me_pkey != this.me_pkey
                select loginId;

            var count = duplicate.Count();            
        }

        // Define other methods and classes here
        class v2oneboxDataEntity 
        {
            public string me_login_name { get; set; }
            public int me_pkey { get; set; }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

您使用的是哪个版本的Visual Studio?什么是.NET框架的目标版本?(需要> = VS 2008,> = .NET 3.5.)