相关疑难解决方法(0)

在开始使用LINQ时,人们犯的最大错误是什么?

人们在第一次使用LINQ时遇到的根本误解是什么?

例如,他们认为当它真的是别的时候它是一回事吗?

并且,是否有一些最佳实践来避免这些错误?

.net linq

34
推荐指数
6
解决办法
6836
查看次数

LINQ的优缺点(语言集成查询)

  • LINQ(语言集成查询)的优缺点是什么?
  • 使用LINQ的最佳和最差情况是什么?
  • 您如何从使用LINQ中受益或不受益?
  • LINQ中哪些数据源受益最少和最多?

.net linq

26
推荐指数
1
解决办法
2万
查看次数

LINQ扩展方法的顺序不影响性能?

我很惊讶,无论我是在前置还是附加LINQ扩展方法都没关系.

经测试Enumerable.FirstOrDefault:

  1. hugeList.Where(x => x.Text.Contains("10000")).FirstOrDefault();
  2. hugeList.FirstOrDefault(x => x.Text.Contains("10000"));

    var hugeList = Enumerable.Range(1, 50000000)
        .Select(i => new { ID = i, Text = "Item" + i });
    
    var sw1 = new System.Diagnostics.Stopwatch();
    var sw2 = new System.Diagnostics.Stopwatch();
    
    sw1.Start();
    for(int i=0;i<1000;i++)
        hugeList.Where(x => x.Text.Contains("10000")).FirstOrDefault();
    sw1.Stop();
    
    sw2.Start();
    for(int i=0;i<1000;i++)
        hugeList.FirstOrDefault(x => x.Text.Contains("10000"));
    sw2.Stop();
    
    var result1 = String.Format("FirstOrDefault after: {0} FirstOrDefault before: {1}", sw1.Elapsed,  sw2.Elapsed);
    //result1: FirstOrDefault after: 00:00:03.3169683 FirstOrDefault before: 00:00:03.0463219
    
    sw2.Restart();
    for (int i = 0; i < 1000; i++) …
    Run Code Online (Sandbox Code Playgroud)

.net c# linq

20
推荐指数
2
解决办法
2368
查看次数

linq的缺点

一般来说linq有什么缺点.

linq

4
推荐指数
1
解决办法
2354
查看次数

为什么不延迟执行缓存迭代值?

采取下面的代码,改编自这个问题:

//Borrowed from another question because its a simpler example of what happened to me.
IEnumerable<char> query = "Not what you might expect";
foreach(char vowel in "aeiou")
{
     query = query.Where(c => c != vowel);
}
foreach (char Output in query)
{
    System.Out.WriteLine(Output);
}
Run Code Online (Sandbox Code Playgroud)

这只会从查询字符集中删除"u".核心问题与第二个foreach c中的Where子句中的变量未被评估的事实有关.我的问题是:

1)为什么第一个foreach生成的委托不会捕获c构建的每个值?是否有一些情况我不知道哪里不是理想的行为?

2)如果它没有捕获值c,那么当查询实际运行时,该值是否仍然在第二个foreach的范围内?在我看来,如果它没有存储传入的变量的值,那么尝试解析第二个foreach的语句将失败,因为该变量c显然超出了范围.

我不明白为什么'在范围内使用我们在这个变量上看到的最后一个值'对于这种情况是一个很好的设计决策,并且希望有人可以对这个问题有所了解.

.net c# linq language-design

4
推荐指数
1
解决办法
239
查看次数

常见的Linq /标准查询运算符错误/错误步骤?

对于不是来自函数式编程背景的程序员,是否有错误要避免?

.net c# linq

3
推荐指数
1
解决办法
1110
查看次数

标签 统计

linq ×6

.net ×5

c# ×3

language-design ×1