相关疑难解决方法(0)

在.Net中LINQ和Lambda表达的效率和性能是什么?

我使用.Net 3.5和VS 2008一个多月了.像大多数.Net开发人员一样,我已经从.Net 1.0&2.0和VS 2005的多年经验发展而来.就在最近,我发现了LINQ和Lambda表达式的简单性和强大功能,就像我最近的问题一样,例如在列表中查找项目LINQ,使用Lambda或LINQ 类实例转换或映射到另一个实例的列表,并使用Lambda或LINQ 将类列表转换或映射到另一个类列表.

我承认Lambda和LINQ更简单易读,看起来非常强大.在幕后,.Net编译器必须生成大量代码才能实现这些功能.因此,我对转换到新语法有点犹豫,因为我已经知道了实现相同结果的"旧"方法.

我的问题是关于Lambda和LINQ的效率和性能.也许Lambda表达式大多是内联函数,在这种情况下我猜Lambda应该没问题.LINQ怎么样?

让我们将讨论限制为LINQ-to-Objects LINQ-to-SQL(LINQ-to-SQL).任何评论,比较和经验?

.net c# linq lambda .net-3.5

38
推荐指数
3
解决办法
4万
查看次数

使用Lambda或LINQ将类实例转换或映射到另一个实例的列表?

我有以下两个类:

class MyData {
  public List<string> PropertyList { get; private set;}
  public string PropertyB { get; set; }
  public string PropertyC { get; set; }
}

class MyData2 {
  public string PropertyA { get; set;}
  public string PropertyB { get; set; }
  public string PropertyC { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

如果我有一个MyClass实例,我需要将它转换为MyData2列表.我可以通过循环MyData.PropertyList并缓存其他属性值并将它们插入MyData2列表来实现,如下所示:

string propertyB = myData.PropertyB;
string propertyC = myData.PropertyC;
List<MyData2> myData2List = new List<MyData>();
foreach(string item in myData.PropertyList)
{
  myData2List.Add(new myData2() { item, propertyB, propertyC });
}
Run Code Online (Sandbox Code Playgroud)

不确定是否可以使用LINQ或Lambda表达式的.Net 3.5功能完成此操作?

c# linq lambda

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

标签 统计

c# ×2

lambda ×2

linq ×2

.net ×1

.net-3.5 ×1