Tag: linq

使用LINQ,如何从List中找到具有给定属性值的对象?

我有一个名为Questions的课程。 这个Questions有属性QuestionID和QuestionAnswer 。 在foreach中迭代这个List of Question ,我必须找到.QuestionID = 12 。 如果我找到.QuestionID = 12那么我必须立即为.QuestionAnswer = “SomeText” .QuestionID = 14 .QuestionAnswer = “SomeText”赋值。 我不希望再次在.QuestionId = 12′ to find内迭代再次.QuestionId = 12′ to find .QuestionID = 14`。 有什么方法我可以直接使用LINQ? .QuestionID = 14 。 例如: For Each mQuestion As Question In _mQuestions If mQuestion.QuestionId = 12 Then ‘Find mQuestion.QuestionID= 14 and […]

Linq to SQL使用group By,并按count计数

这是mysql查询: SELECT count(PVersion), PVersion FROM [Products].[dbo].[Active_Details] group by PVersion order by count(PVersion); 它的LINQ to SQL是什么。

Linq to Entities删除

是否有使用主键从Linq to Entites删除的内置方法。 目前正在解决的问题是创建一个名为DeleteTable的存储过程(表是表名) 然后在C#LINQ To Entities中我只做context.DeleteTable(ID) 这是最好的方法吗? 还有哪些其他选择?

TakeWhile,但也得到了阻止它的元素

我想在LINQ to Objects上使用LINQ TakeWhile函数。 但是,我还需要知道“破坏”函数的第一个元素,即条件不正确的第一个元素。 是否有一个函数可以获取所有不匹配的对象,加上第一个对象是什么? 例如,给定集合{1, 2, 3, 4, 5, 6, 7, 8} , mySet.MagicTakeWhile(x => x != 5); => {1, 2, 3, 4, 5}

为什么C#的重载解析在Func 和Action 之间不起作用?

因此,IEnumerable的一个相当常见的扩展方法,运行: public static IEnumerable Run(this IEnumerable source, Action action) { foreach (var item in source) { action(item); yield return item; } } 当我尝试使用它时,例如,DbSet.Add: invoice.Items.Run(db.InvoiceItems.Add); // NB: Add method signature is // public T Add(T item) { … } …编译器抱怨它有错误的返回类型,因为它期望一个void方法。 因此,为Run添加一个重载,它接受一个Func而不是Action: public static IEnumerable Run(this IEnumerable source, Func action) { return source.Select(action).ToList().AsEnumerable(); } 现在编译器抱怨说“以下方法之间的调用是模糊的……” 所以我的问题是,当Run方法的Action重载对方法组无效时,怎么会导致歧义?

如何使用linq替换类型字符串列表中的某些特定字符串?

大家好我有一些类型的字符串列表与一些项目。 我想用linq替换一些项目,我该怎么做? 我的下面的代码工作正常,但我想使用linq的强大function在单行代码中执行此操作。 这是我的代码: List listcolumns = columns.ToList();//Array to list if (listcolumns.Contains(“HowToReplace”) && listcolumns.Contains(“HowTo Replace”)) { int index = 0; index = listcolumns.IndexOf(“HowToReplace”); if (index > 0) { listcolumns.RemoveAt(index); listcolumns.Insert(index, “HowTo Replace”); } index = listcolumns.IndexOf(“HowToReplace”); if (index > 0) { listcolumns.RemoveAt(index); listcolumns.Insert(index, “HowTo Replace”); } columns = listcolumns.ToArray();//List to array }

Enumerable.Last ()和C#数组

说我有一个简单的数组: double[] myDoubleArray = new double[] { 0, 1, 2, 3, 4, 5 }; 这是性能如何: double last = myDoubleArray.Last(); 这个? double last = myDoubleArray[myDoubleArray.Length – 1]; 即使可以进行上述优化,Last Last()还会枚举整个数组吗? 如果我传递了一些其他IEnumerable(比如一个已经产生的),Last() 必须枚举序列。 我更喜欢使用Last(),因为代码看起来更干净,但如果它枚举序列我就不会做出牺牲。

找不到源类型’System.Data.Entity.DbSet’的查询模式的实现

我第一次使用entity framework,但似乎没有按预期工作。 我有这个代码: using System; using System.Collections.Generic; using System.Data.Entity; using System.Linq; public static class QueryClass { public static void Query() { using (var context = new MyDbEntities()) { DbSet set = context.Tables; var query = from val in set select value; } } } 在查询行(确切地说“set”变量用红色加下划线)我得到错误: 无法找到源类型’System.Data.Entity.DbSet’的查询模式的实现。’选择’未找到。 缺少’System.Linq’的引用或using指令 MyDbEntities由Entity Framework在Database-First方法中自动生成, context.Tables是一个DbSet ,因此它应该能够使用Linq,它是通过using指令添加的。 为了避免误解,我在本课程中找到以下内容: public virtual DbSet […]

在List – C#中选择整周没有rest日的记录

我有一个Employee类,定义如下: Employee { public int Id { get; set; } public string Name { get; set; } public DateTime WorkDate { get; set; } public bool isOff { get; set; } } 这是我的类实现和用法: List workers = new List() { new Employee { Id = 1, Name = “Emp 1”, WorkDate = Convert.ToDateTime(“4/11/2016”), IsOff = false}, […]

Linq to objects:内部查询性能

在回答其中一个问题时,我看到了两个LINQ代码的例子应该完全相同。 但我对性能感到疑惑,并发现一个代码比另一个代码快得多。 我无法理解为什么。 我从问题中获取了数据结构 public struct Strc { public decimal A; public decimal B; // more stuff } public class CLASS { public List listStrc = new List(); // other stuff } 然后我写了简单的基准测试(使用了benchmarkdotnet库) UPD我包括了所有要求的测试 public class TestCases { private Dictionary dict; public TestCases() { var m = 100; var n = 100; dict = Enumerable.Range(0, […]