C# 关于linq查询格式的问题

C# 关于linq查询格式的问题,c#,asp.net,sql,linq,lambda,C#,Asp.net,Sql,Linq,Lambda,我刚刚习惯了Linq,我正在按提交日期降序排列我的记录,但是有人能解释一下为什么我必须做c=>c.dateSubmitted,而不是只传递tblHelpCenter问题。dateSubmitted?c=>做什么?为什么需要它?它是一个lambda表达式。了解他们 还要注意,OrderByDescending返回一个新的IEnumerable,而不是就地排序。您将需要阅读Linq基础知识。这是一个lambda表达式。了解他们 还要注意,OrderByDescending返回一个新的IEnumera

我刚刚习惯了Linq,我正在按提交日期降序排列我的记录,但是有人能解释一下为什么我必须做
c=>c.dateSubmitted
,而不是只传递
tblHelpCenter问题。dateSubmitted
c=>
做什么?为什么需要它?

它是一个lambda表达式。了解他们


还要注意,OrderByDescending返回一个新的IEnumerable,而不是就地排序。您将需要阅读Linq基础知识。

这是一个lambda表达式。了解他们


还要注意,OrderByDescending返回一个新的IEnumerable,而不是就地排序。您需要阅读Linq基础知识。

q=tblhelpcenter问题是可列举的。它没有dateSubmitted属性。其元素具有该属性。C正好代表元素

q=tblhelpcenter问题是可枚举的。它没有dateSubmitted属性。其元素具有该属性。C正好代表该元素,
C=>C.dateSubmitted
是a,它们经常与Linq一起使用。在这种情况下,它是一种选择器。它定义了要根据类的哪个属性进行排序
tblHelpCentreQuestions.dateSubmitted
另一方面,它只是一个“值”,它不提供有关属性的信息

简单地说,lambda表达式是一个匿名方法。方法需要参数,这就是
c=>
的用途。如果您有一个接受两个参数(例如,sender和args)的方法,那么您将有类似于
(sender,args)=>
。有表达式lambda,它们的主体是一个表达式(如您的示例所示),还有语句lambda,它们可以有多条指令(或语句),因此需要一个块来对其进行分隔<代码>(发送方,参数)=>{…}。它可能有返回值,也可能没有返回值


希望这有帮助:)

这个
c=>c.dateSubmitted
是一个,它们经常与Linq一起使用。在这种情况下,它是一种选择器。它定义了要根据类的哪个属性进行排序
tblHelpCentreQuestions.dateSubmitted
另一方面,它只是一个“值”,它不提供有关属性的信息

简单地说,lambda表达式是一个匿名方法。方法需要参数,这就是
c=>
的用途。如果您有一个接受两个参数(例如,sender和args)的方法,那么您将有类似于
(sender,args)=>
。有表达式lambda,它们的主体是一个表达式(如您的示例所示),还有语句lambda,它们可以有多条指令(或语句),因此需要一个块来对其进行分隔<代码>(发送方,参数)=>{…}。它可能有返回值,也可能没有返回值

希望这有帮助:)

var q = (dc.tblHelpCentreQuestions.Where(c => c.userID == UserID));
q.OrderByDescending(c => c.dateSubmitted);