Tag: linq

比较两个string数组的C#

好的,所以这可能是一个基本的问题,但我将不胜感激。 假设我们有5个string数组: string[] a = {"The","Big", "Ant"}; string[] b = {"Big","Ant","Ran"}; string[] c = {"The","Big","Ant"}; string[] d = {"No","Ants","Here"}; string[] e = {"The", "Big", "Ant", "Ran", "Too", "Far"}; 有没有一种方法比较这些string彼此没有在C#中循环,只有一个和C会产生布尔真正? 换句话说,所有的元素必须相同,数组必须是相同的大小? 再次,如果可能,不使用循环。 提前致谢!

问题与LINQ实体和String.StartsWith

我试图build立一个使用LINQ to Entities的search页面,但是下面的代码给了我一个关于lte没有识别'Boolean StartsWith()的运行时错误。 代码编译得很好。 我怎样才能解决这个问题比把StartsWith过滤出来存储到一个存储过程更好? return from dp in dents.DirectoryPersonEntrySet where ((dp.LastName.StartsWith(searchTerm, StringComparison.CurrentCultureIgnoreCase)) || (dp.Department.StartsWith(searchTerm, StringComparison.CurrentCultureIgnoreCase)) || dp.Extension.StartsWith(searchTerm, StringComparison.CurrentCultureIgnoreCase)) select dp;

如何debugging一个LINQ语句

我有一个Linq的对象声明 var confirm = from l in lines.Lines where (l.LineNumber == startline.LineNumber) || (l.LineNumber == endline.LineNumber) select l; 确认对象在System.Linq.Enumerable.WhereListIterator`1.MoveNext()处返回'Object Null or Not A Reference' 如果查询的结果是空的,它只会返回一个空的枚举器。 我知道这个事实,在声明中没有空对象。 是否有可能通过LINQ语句来查看它在哪里翻倒? 编辑当我说我知道有一个事实,没有空对象 ,事实certificate我是在说谎:[,但问题仍然存在,虽然我认为答案将是'你不能真正' LINQPad是一个好主意,我用它来教我自己的LINQ,但我可能会开始再次把它看作是一个debugging/斜杠和刻录风格工具

C#Array.Contains()编译错误

我试图在C#中使用Array.Contains()方法,由于某种原因,它不能编译,即使我相信我正在使用C#4.0,C#应该支持3.0和更高版本。 if (! args.Contains ("-m")) Console.WriteLine ("You must provide a message for this commit."); 我得到这个错误: Main.cs(42,15):错误CS1061:'System.Array'不包含'Contains'的定义,并且没有扩展方法'Contains'接受types'System.Array'的第一个参数可以被find(你缺less使用指令或程序集引用?) 我从命令行编译,没有选项:“csc Main.exe”。

使用LINQ中的select new返回列表

这是我的方法,它给了我错误。 public List<Project> GetProjectForCombo() { using (MyDataContext db = new MyDataContext (DBHelper.GetConnectionString())) { var query = from pro in db.Projects select new { pro.ProjectName, pro.ProjectId }; return query.ToList(); } } 如果我改变它: public List<Project> GetProjectForCombo() { using (MyDataContext db = new MyDataContext (DBHelper.GetConnectionString())) { var query = from pro in db.Projects select pro; return query.ToList(); } […]

如何在EF查询中执行date比较?

请帮忙。 我想弄清楚如何使用DATE或DATETIME在linq查询进行比较。 例如:如果我想为今天之前开始的所有员工名称,我会在SQL中做这样的事情: SELECT EmployeeNameColumn FROM EmployeeTable WHERE StartDateColumn.Date <= GETDATE() //Today 但是linq呢? DateTime startDT = //Today var EmployeeName = from e in db.employee where e.StartDateColumn <= startDT 上面的WHERE不起作用: exception详细信息:System.NotSupportedException:LINQ to Entities不支持指定的types成员“Date”。 仅支持初始化器,实体成员和实体导航属性。

按顺序检查丢失的数字

我有一个List<int> ,其中包含1,2,4,7,9例如。 我有一个从0到10的范围。 有没有办法确定在这个序列中缺less的数字? 我认为LINQ可能提供一个选项,但我看不到一个 在现实世界中,我的列表可能包含100,000个项目,所以性能是关键

如何通过LINQ比较没有时间的DateTime?

我有 var q = db.Games.Where(t => t.StartDate >= DateTime.Now).OrderBy(d => d.StartDate); 但是它比较了DateTime时间部分。 我真的不需要它。 如何没有时间做到这一点? 谢谢!

LINQ的Expression.Quote方法的目的是什么?

MSDN文档指出: Expression.Quote 方法创build一个UnaryExpression,它表示具有typesExpression的常量值的expression式。 我已经能够通过使用Expression类手动构build谓词expression式来构build用于LINQ查询的谓词expression式,但从来没有遇到过Expression.Quote的需求。 何时以及为什么要使用这个? 从我看到的LINQexpression式中,他们似乎只是在不添加任何值的情况下包装现有的expression式。 Quote方法/节点types的用途是什么?

LINQ to Entities按周分组

我有一个应用程序,允许用户input他们花在工作上的时间,我试图获得一些良好的报告,这是利用LINQ to Entities。 由于每个TrackedTime都有一个TargetDate ,它只是DateTime的“Date”部分,所以按用户和date对时间进行分组相对比较简单(为简单起见,我省略了“where”子句): var userTimes = from t in context.TrackedTimes group t by new {t.User.UserName, t.TargetDate} into ut select new { UserName = ut.Key.UserName, TargetDate = ut.Key.TargetDate, Minutes = ut.Sum(t => t.Minutes) }; 由于DateTime.Month属性,用户和月份分组只是稍微复杂一点: var userTimes = from t in context.TrackedTimes group t by new {t.User.UserName, t.TargetDate.Month} into ut select new { UserName […]