【c#-在LINQ JOIN中添加第二个条件】教程文章相关的互联网学习教程文章

c# – 使用具有偶然空属性的LINQ SequenceEqual扩展方法【代码】

我正在编写一个简单的控制台应用程序来比较自定义类对象的两个实例.对于每个属性,我在控制台窗口中写入True或False,以显示每个对象的属性是否匹配. 某些属性(如ProductLines(List属性))在一个或两个对象中可能为null,或者两者都不为.这对使用SequenceEqual提出了一个小问题,因为它不接受空值.有没有比我编写的代码更好的方法来比较两个序列属性?// test if either collection property is null. if (commsA.Last().ProductLines =...

c# – 使用Linq将Dictionary转换为Dictionary【代码】

我可以使用for循环进行转换,但是有一个Linq语句可以用作单行程序吗?解决方法:您可以使用:var newdict = original.ToDictionary(kvp => kvp.Key, kvp => (float)kvp.Value);

c# – 如何使用LINQ删除数组中的重复元素?如果重复,则删除元素?【代码】

int [] n=new int[10]{2,3,33,33,55,55,123,33,88,234}; output=2,3,123,88,234;使用LINQ我可以通过连续检查使用两个for循环来做它.但我需要一个更简单的方法使用LINQ 它没有删除重复..通过distinct删除重复项将给出= 2,3,123,33,55,88,234我的输出应该是= 2,3,123,,88,234;解决方法:我结合了你的分组想法和matiash的数量.不确定它的速度.var result = n.GroupBy(s => s).Where(g => g.Count() == 1).Select(g => g.Key);更新:我测...

c# – Linq查询中的Guid.ToString()?【代码】

我有一个方法,尝试使用简单的where子句从我的数据库中提取记录.我有一个问题,因为我传入一个字符串值并将其与Guid(uniqueIdentifier)匹配.我需要将传递的值作为字符串绑定到DataGrid中,我需要该方法返回一个字符串. 显然在运行时,LinQ无法编译查询. .ToString()方法无法编译为SQL.有任何想法吗?private string getFileLocation(string LinkGuid) {try{ISESEntities context = new ISESEntities();string query = (from f in conte...

c# – Partial Distinct Linq【代码】

我有一个对象列表.这些物体具有例如“值”.var lst = new List<TestNode>();var c1 = new TestNode(){Value = "A",};lst.Add(c1);var c2 = new TestNode(){Value = "A",};lst.Add(c2);var c3 = new TestNode(){Value = "B",};lst.Add(c3);var c4 = new TestNode(){Value = "B",};lst.Add(c4);我想说的是:lst.PartialDistinct(x => x.Value == "A")这应仅由谓词区分,并且在打印生成的IEnumerable的“值”时,结果应为:A B B我已经找...

c# – 使用linq表达式过滤带有键列表的字典【代码】

我有一个字典,其中包含所有具有相应年龄的用户.Dictionary<string,int> AllUsers;我有一个特定用户列表.List<String> Users;我想过滤第一个字典AllUsers只有在SpecificUsers列表中有他们名字的用户. 我已经用循环手动完成了一些事情,但是我想使用linq表达式,但我对它们并不是很熟悉. 在此先感谢您的帮助解决方法:您可以过滤用户:Users.Where(i => AllUsers.ContainsKey(i)).Select(i => new { User = i, Age = AllUsers[i] });这样...

c# – 这个LINQ能更有效吗?【代码】

我有一个相当复杂的linq分组,有些重复让我烦恼,但我无法减少它.有没有办法避免两次获得ID ==“XYZ”的项目列表?var example = = new GdsObservableCollection<GroupedQueryResults>(items.Where(a => a.SubCategory3 != "{template}").GroupBy(item => item.SubCategory1).Select(g => new GroupedQueryResults{SubCategory = g.Key,SectionHeader = (g.Count(x => x.Id == "XYZ") > 0) ?"Category :" + g.Where(x => x.Id == "X...

Linq问题,无法获得预期的数据C#【代码】

我有List< Student>具有如下数据的对象public class Student {public int StudentId { get; set; }public string Name { get; set; }public int SchoolYearId { get; set; }public int ClassId { get; set; } }&安培;数据我有这个public List<Student> StudentData(){return new List<Student>{new Student{StudentId=100,Name="Shubham",SchoolYearId=2016,ClassId=1000},new Student{StudentId=100,Name="Shubham",SchoolYearId=...

c# – 使用LINQ无法正常分组数据【代码】

我想按字段BillPeriodId查询表和组,我正在按照article中的示例的方式实现它.以下是进行分组的方法public List<BillPeriodLine> GetLinesGroupedByPeriod() {var linesGrouped = _lineRepository.AllIncluding(p => p.BillPeriod).GroupBy(pl => pl.BillPeriodId).Select(g => new Group<int, BillPeriodLine>{Key = g.Key,Values = g});return new List<BillPeriodLine>(linesGrouped); }可发现类型public class Group<T, K> {publ...

c# – LINQ作为动作的短构造函数【代码】

使用linq我可以创建这样的查询XElement.Elements("...").Select(x=> useX(x));现在因为x只创建一个包装器Action而useX的参数是XElement,你可以像这样使用它:XElement.Elements("...").Select(useX);但是当我有一个具有匹配类型的构造函数的类型,即MyClass(XElement元素)时,我必须使用:XElement.Elements("...").Select(x=> new MyClass(x));我的问题:有没有办法以上面的方式缩短对象的构造,但是有一个构造函数?我想象过这样的事...

c# – LINQ组由多个属性和创建字典组成【代码】

我有一个名为ScrewBoltPattern的类的对象列表. 我想创建一个字典,其中包含每个ScrewBoltPattern系列的外观数量.为了确定一个螺丝是否属于一个家庭我使用该类的一些属性. 为简化此查询,假设我使用属性Length和Diameter. 我想创建一个字典,其键的格式类似于screw.Length“_”screw.Diameter 我怎么能得到这个? 这就是我到目前为止所做的Dictionary<string, int> boltFamilyList = selectedBolts.GroupBy(bolt => new { bolt.Length,...

c# – Linq问题:结合Where子句【代码】

素不相识的! 我有一些看起来像这样的XML:<Root><SectionA><Item id="111"><Options><Option val="a" cat="zzz"><Package value="apple" /><Feature value="avacado" /></Option><Option val="b" cat="yyy"><Package value="banana" /><Feature value="blueberry" /></Option></Options></Item><Item id="222"><Options><Option val="c" cat="xxx"><Package value="carrot" /><Feature value="cucumber" /></Option><Option val="...

c# – 使用带有LINQ的orderby,Skip()和Take()时重复行【代码】

我正在使用以下代码来查询我的数据库:private const int PAGE_SIZE = 10;public static IList<Image> GetTopImagesForUser(String connectionString, int userID, int page) {dbDataContext db = new dbDataContext(connectionString);var images = (from p in db.Imageswhere (p.SubmitterUserIndex == userID &&p.URL != "none" &&p.ThumbURL != "none")orderby p.Rep descendingselect p).Skip(page * PAGE_SIZE).Take(PAGE_SI...

c# – Linq:将IEnumerable转换为IEnumerable【代码】

我有一个IEnumerable< Point>我想将它转换为IEnumerable< float>. 我可以在单个Linq语句中执行此操作吗?IEnumerable<float> ConvertToPoints(IEnumerable<Point> points) {List<float> floats = new List<float>();foreach(var point in points){floats.Add(point.X);floats.Add(point.Y);}return floats; }解决方法:是的,你可以使用SelectMany:return points.SelectMany(point => new float[] { point.X, point.Y });另一种不需...

c# – LINQ相当于以下代码?【代码】

我正在学习LINQ,并希望对以下方法有所帮助.如何重写以下方法以使用LINQ?private bool IsInList(string file, List<FileInfo> excelList) {if (excelList != null && excelList.Count > 0){foreach (FileInfo f in excelList){if (string.Compare(f.FullName, file, StringComparison.OrdinalIgnoreCase) == 0){return true;}}}return false; }解决方法:我将更改第二个参数以接受IEnumerable< FileInfo>相反,所以你不仅仅限于列表....