使用扩展方法,我们可以编写方便的LINQ运算符来解决泛型问题.
我想System.Linq知道命名空间中缺少哪些方法或重载以及如何实现它们.
可能使用现有方法的清洁和优雅的实现是首选.
我有一个List,我想将它包装成IQueryable.
这可能吗?
我正在使用LINQPad在我正在构建的应用程序中创建LINQ查询.
我注意到在下载的LINQ in Action示例中,例如示例4.04,intellisense显示了一个类"Books",但我在LINQPad工具中看不到任何引用或" using "语句,这里是示例:
List<Book> books = new List<Book>() {
new Book { Title="LINQ in Action" },
new Book { Title="LINQ for Fun" },
new Book { Title="Extreme LINQ" } };
var titles =
books
.Where(book => book.Title.Contains("Action"))
.Select(book => book.Title);
titles.Dump();
Run Code Online (Sandbox Code Playgroud)
在"LinqBooks.Common中,Business Objects,Book.linq "是类似乎定义的地方:
public class Book
{
public IEnumerable<Author> Authors {get; set;}
public String Isbn {get; set;}
public String Notes {get; set;}
public Int32 PageCount {get; set;}
public Decimal Price {get; …Run Code Online (Sandbox Code Playgroud) 我有一个List(Of DateTime)项目.如何检查所有项目是否与LINQ查询相同?在任何给定时间,列表中可能有1,2,20,50或100个项目.
谢谢
我希望能够IEnumerable<IEnumerable<T>>融入IEnumerable<T>(即将所有单个集合合并为一个).该Union运营商只适用于两个集合.任何的想法?
我正在尝试创建一个LINQ语句,其中where子句来自变量.例如:
string whereClause = address.zip == 23456;
var x = from something in someList where whereClause;
Run Code Online (Sandbox Code Playgroud)
这可能吗?我似乎无法让它发挥作用.
谢谢,
更新 - 我的where子句是预定义的,将基于用户输入,所以我不认为这对我有用.基本上whereClause不是在方法中构造的,它是执行LINQ的方法的参数.我没有解释好这里是一个更好的例子:
public void doLnq(string whereClause)
{
var x = from something in someList where whereClause;
dowork(x);
}
Run Code Online (Sandbox Code Playgroud)
更新 - 只是总结一些建议并集中所有内容.
我不能使用开关来生成where子句,因为有很多可能性.
你们中的一些人发布的动态linq帖子确实看起来很有希望,但是我遇到麻烦将linq与sql示例相关联到我的linq to objects问题.
通过msdn查看和@sLaks http://msdn.microsoft.com/en-us/library/bb353734.aspx我无法确定你在哪里使用AsQueryable
谢谢,
我有一个Linq to objects语句
var confirm = from l in lines.Lines
where (l.LineNumber == startline.LineNumber) || (l.LineNumber == endline.LineNumber)
select l;
Run Code Online (Sandbox Code Playgroud)
confirm对象在System.Linq.Enumerable.WhereListIterator`1.MoveNext()返回'Object Null或Not A Reference'.
如果查询结果为空,则只返回一个空的枚举器.我知道声明中没有空对象.是否可以单步执行LINQ语句以查看它在哪里崩溃?
编辑当我说我知道一个事实,即没有空物体时,事实证明我在撒谎:[,但问题仍然存在,虽然我觉得答案是"你不能真的"
LINQPad是一个好主意,我用它来自学LINQ,但我可能会再次将它看作调试/斜杠和刻录样式工具
Linq是否有办法在不知道值的顺序的情况下对一组值(本例中为字符串)执行OrderBy?
考虑这些数据:
A
B
A
C
B
C
D
E
Run Code Online (Sandbox Code Playgroud)
而这些变量:
string firstPref,secondPref,thirdPref;
当值设置如下:
firstPref = 'A';
secondPref = 'B';
thirdPref = 'C';
Run Code Online (Sandbox Code Playgroud)
是否可以像这样订购数据:
A
A
B
B
C
C
D
E
Run Code Online (Sandbox Code Playgroud) public class ClassA
{
public string MyString {get; set;}
}
public class ClassB
{
public List<ClassA> MyObjects {get; set;}
}
List<ClassB> classBList = new List<ClassB>();
var results = (from i in classBList select i.MyObjects).Distinct();
Run Code Online (Sandbox Code Playgroud)
我想要一个不同的所有ClassA对象列表classBList.我如何使用LINQ解决这个问题?我正在考虑嵌套查询,但无法弄明白.非常感谢任何帮助.
关于LINQ语法只是一点点关注.我压扁的IEnumerable<IEnumerable<T>>用SelectMany(x => x).
我的问题是lambda表达式x => x.它看起来有点难看.是否有一些静态的'身份功能'对象,我可以用而不是x => x?有点像SelectMany(IdentityFunction)?
linq-to-objects ×10
linq ×8
c# ×7
collections ×1
debugging ×1
ienumerable ×1
iqueryable ×1
lambda ×1
linqpad ×1
list ×1
select ×1
vb.net ×1