草庐IT

param_groups

全部标签

c# - 如何在 Linq to SQL 中使用 distinct 和 group by

我正在尝试将以下sql转换为Linq2SQL:selectgroupId,count(distinct(userId))fromprocessroundissueinstancegroupbygroupId这是我的代码:varq=fromiinProcessRoundIssueInstancegroupibyi.GroupIDintogselectnew{Key=g.Key,Count=g.Select(x=>x.UserID).Distinct().Count()};当我运行代码时,我不断收到无效的GroupID。有任何想法吗?似乎distinct把事情搞砸了..这里是生成的sql:

c# - VB.NET linq group by 匿名类型不能按预期工作

我正在研究LINQPad附带的一些linq示例。在“C#3.0inaNutshell”文件夹中的Chater9-Grouping下,有一个名为“GroupingbyMultipleKeys”的示例查询。它包含以下查询:fromninnew[]{"Tom","Dick","Harry","Mary","Jay"}.AsQueryable()groupnbynew{FirstLetter=n[0],Length=n.Length}我将字符串“Jon”添加到数组的末尾以获得实际分组,并得出以下结果:这正是我所期待的。然后,在LINQPad中,我转到同一查询的VB.NET版本:'Manuall

c# - params[] 可以作为 lambda 表达式的参数吗?

这个问题在这里已经有了答案:VariableparametersinC#Lambda(5个答案)关闭1年前。我最近开始探索lambda表达式,想到了一个问题。假设我有一个函数需要不确定数量的参数。我会使用params关键字来为可变数量的参数建模。我的问题:我可以用Lambda表达式做类似的事情吗?例如:Funcfoo=(paramsnumbers[])=>{intresult;foreach(intnumberinnumbers){result+=numbers;}returnresult;}如果是这样,就会出现两个子问题-是否有一种“好的”方式来编写这样的表达式,我什至想在某个时候编

c# - 使用具有 "params"参数的反射调用函数 (MethodBase)

我有两个函数的MethodBases:publicstaticintAdd(paramsint[]parameters){/*...*/}publicstaticintAdd(inta,intb){/*...*/}我有一个通过我创建的类调用MethodBases的函数:MethodBaseMethod;objectTarget;publicobjectcall(paramsobject[]input){returnMethod.Invoke(Target,input);}现在如果我AddTwoMethod.call(5,4);它工作正常。如果我使用AddMethod.call(5,4)

c# - Entity Framework : Efficiently grouping by month

我对此做了一些研究,到目前为止我发现的最好的方法是在整个数据集上使用Asenumerable,以便在对象的linq中而不是在数据库中进行过滤。我使用的是最新的EF。我的工作(但非常慢)代码是:vartrendData=fromdinExpenseItemsViewableDirect.AsEnumerable()groupdbynew{Period=d.Er_Approved_Date.Year.ToString()+"-"+d.Er_Approved_Date.Month.ToString("00")}intogselectnew{Period=g.Key.Period,Total=

c# - 为什么 C# LINQ 表达式必须以 Select 或 Group By 子句结尾,而在 VB.Net 中没有这样的限制

由于我的标题是不言自明的,我知道如何纠正它,但首先为什么会这样?场景我写了一个VB.Net代码DimlistAsList(OfString)=NewList(OfString)//CodetopopulatelistDimwherelinqAsIEnumerable(OfString)=FromsInlistWheres.StartsWith("A")这工作正常,没有错误但在C#中同样的逻辑失败了Listlist=newList();//CodetopopulatelistIEnumerablewherelinq=fromsinlistwheres.StartsWith("A");这给

C# 正则表达式 : Named Group Valid Characters?

什么是有效的组名?varre=newRegex(@"(?pattern)"); 最佳答案 简答允许的字符是[a-zA-Z0-9_]长答案根据Microsoftdocs:namemustnotcontainanypunctuationcharactersandcannotbeginwithanumber.不过说的不是很具体,还是看源码吧:sourcecodefortheclassSystem.Text.RegularExpressions.RegexParser向我们展示了允许的字符本质上是[a-zA-Z0-9_]。确切地说,在用于检

c# - LINQ TO 数据集 : Multiple group by on a data table

我正在使用Linqtodataset来查询数据表。如果我想对数据表的“Column1”执行分组,我使用以下查询vargroupQuery=fromtableinMyTable.AsEnumerable()grouptablebytable["Column1"]intogroupedTableselectnew{x=groupedTable.Key,y=groupedTable.Count()}现在我想对两列“Coulmn1”和“Column2”进行分组。谁能告诉我语法或提供一个链接来解释数据表上的多个分组依据??谢谢 最佳答案 您应

c# - 如何修复 'compiler error - cannot convert from method group to System.Delegate' ?

publicMainWindow(){CommandManager.AddExecutedHandler(this,ExecuteHandler);}voidExecuteHandler(objectsender,ExecutedRoutedEventArgse){}错误1​​参数2:无法从“方法组”转换为“System.Delegate” 最佳答案 我猜有多个具有不同签名的ExecuteHandler。只需将您的处理程序转换为您想要的版本:CommandManager.AddExecuteHandler(this,(Action)

c# - 可选参数后跟 Params

这个问题在这里已经有了答案:C#4.0,optionalparametersandparamsdonotworktogether(3个答案)关闭9年前。所以我看到可以有一个方法签名,其中第一个参数提供默认值,第二个参数是参数集合。我看不到的是实际使用第一个参数的默认值的方法。有可能吗?示例方法:voidWaitAllTask​​s(stringmessage="RunningTask.WaitAll",paramsTask[]tasks);我最初尝试在调用方法时省略消息参数,还尝试使用命名参数,这不适用于params。可以编译,但可以使用吗?