草庐IT

c# - LINQ:从类型 T 的列表中,仅检索某个子类 S 的对象

给定一个简单的继承层次结构:人->学生、教师、职员假设我有一个人员列表,L。在该列表中有一些学生、教师和工作人员。使用LINQ和C#,有没有一种方法可以编写一个只能检索特定类型人员的方法?我知道我可以做类似的事情:varpeopleIWant=L.OfType();但我希望能够做一些更有活力的事情。我想编写一个方法来检索我能想到的任何类型的Person的结果,而不必为每种可能的类型都编写一个方法。 最佳答案 你可以这样做:IListpersons=newList();publicIListGetPersons()whereT:Per

c# - LINQ Where in 集合子句

我一直在谷歌上寻找,但没有找到任何适合我的东西。如您所知,SQL有一个“wherexin(1,2,3)”子句,它允许您检查多个值。我正在使用linq,但似乎找不到与上述语句相同的语法。我有一个类别ID的集合(列表),我想检查它我发现了一些使用.contains方法的东西,但它甚至没有构建。 最佳答案 您必须在您的id列表上使用Contains方法:varquery=fromtindb.TablewhereidList.Contains(t.Id)selectt; 关于c#-LINQWhe

c# - LINQ Where in 集合子句

我一直在谷歌上寻找,但没有找到任何适合我的东西。如您所知,SQL有一个“wherexin(1,2,3)”子句,它允许您检查多个值。我正在使用linq,但似乎找不到与上述语句相同的语法。我有一个类别ID的集合(列表),我想检查它我发现了一些使用.contains方法的东西,但它甚至没有构建。 最佳答案 您必须在您的id列表上使用Contains方法:varquery=fromtindb.TablewhereidList.Contains(t.Id)selectt; 关于c#-LINQWhe

c# - Linq 查找所有具有特定类型的

有没有办法使用Linq/Lambda表达式在列表中查找特定类型的所有项目?更新:由于答案,我意识到问题不够具体。我需要一个仅包含特定类型项目的新列表。在我的例子中,该类没有任何子类,因此无需考虑继承。 最佳答案 使用OfType像这样:foreach(varbarinMyList.OfType()){...} 关于c#-Linq查找所有具有特定类型的,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/q

c# - Linq 查找所有具有特定类型的

有没有办法使用Linq/Lambda表达式在列表中查找特定类型的所有项目?更新:由于答案,我意识到问题不够具体。我需要一个仅包含特定类型项目的新列表。在我的例子中,该类没有任何子类,因此无需考虑继承。 最佳答案 使用OfType像这样:foreach(varbarinMyList.OfType()){...} 关于c#-Linq查找所有具有特定类型的,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/q

c# - 使用 linq/Entity Framework 查询多对多关系。代码优先

如何首先使用实体​​框架代码和linq查询多对多关系?问题是EF自动创建关系表。所以,我的上下文中没有它。这是关系模型:我需要一个特定Category_Id的文章列表,基本上复制类似的内容:selecta.Id,a.Title,a.ShortDescriptionfromArticlesajoinCategoryArticlescaonca.Article_Id=a.Idwhereca.Category_Id=@parameter但是我的dbcontext只有:publicDbSetArticles{get;set;}publicDbSetCategories{get;set;}.感谢

c# - 使用 linq/Entity Framework 查询多对多关系。代码优先

如何首先使用实体​​框架代码和linq查询多对多关系?问题是EF自动创建关系表。所以,我的上下文中没有它。这是关系模型:我需要一个特定Category_Id的文章列表,基本上复制类似的内容:selecta.Id,a.Title,a.ShortDescriptionfromArticlesajoinCategoryArticlescaonca.Article_Id=a.Idwhereca.Category_Id=@parameter但是我的dbcontext只有:publicDbSetArticles{get;set;}publicDbSetCategories{get;set;}.感谢

c# - LINQ 按时间段聚合和分组

我正在尝试了解如何使用LINQ按时间间隔对数据进行分组;然后理想地聚合每个组。找到大量具有明确日期范围的示例,我尝试按5分钟、1小时、1天等时间段进行分组。例如,我有一个用值包装DateTime的类:publicclassSample{publicDateTimetimestamp;publicdoublevalue;}这些观察结果作为一系列包含在列表集合中:Listseries;因此,为了按小时分组并按平均值汇总值,我正在尝试执行以下操作:vargrouped=fromsinseriesgroupsbynewTimeSpan(1,0,0)intogselectnew{timestam

c# - LINQ 按时间段聚合和分组

我正在尝试了解如何使用LINQ按时间间隔对数据进行分组;然后理想地聚合每个组。找到大量具有明确日期范围的示例,我尝试按5分钟、1小时、1天等时间段进行分组。例如,我有一个用值包装DateTime的类:publicclassSample{publicDateTimetimestamp;publicdoublevalue;}这些观察结果作为一系列包含在列表集合中:Listseries;因此,为了按小时分组并按平均值汇总值,我正在尝试执行以下操作:vargrouped=fromsinseriesgroupsbynewTimeSpan(1,0,0)intogselectnew{timestam

c# - 使用 LINQ 进行字母数字排序

我有一个string[],其中每个元素都以某个数值结尾。string[]partNumbers=newstring[]{"ABC10","ABC1","ABC2","ABC11","ABC10","AB1","AB2","Ab11"};我正在尝试使用LINQ对上述数组进行排序,但我没有得到预期的结果。varresult=partNumbers.OrderBy(x=>x);实际结果:AB1Ab11AB2ABC1ABC10ABC10ABC11ABC2预期结果AB1AB2AB11.. 最佳答案 这是因为字符串的默认排序是标准字母数字字典(