草庐IT

kernel-lt

全部标签

c# - 如何并行启动 List<Task>?

我有一个返回System.Threading.Tasks.Task的对象:publicclassMyClass{publicTaskGetTask(objectstate,CancellationTokencancellationToken){returnnewTask(Execute,state,cancellationToken);}publicvoidExecute(objectcontext){//dostuff}}在其他地方我有一个List,所以我执行以下操作以获得List:varmyTaskList=myClassList.Select(p=>p.GetTask(null,

c# - 'System.Collections.Generic.List<float >' does not contain a definition for ' Sum'

我正在尝试使用内置的Sum()函数对float列表求和,但我不断收到此错误:ErrorCS1061:'System.Collections.Generic.List'doesnotcontainadefinitionfor'Sum'andnoextensionmethod'Sum'acceptingafirstargumentoftype'System.Collections.Generic.List'couldbefound(areyoumissingausingdirectiveoranassemblyreference?)(CS1061)我有usingSystem.Collect

c# - 无法将类型 '.List<AnonymousType#1>' 隐式转换为 '.List<WebApplication2.Customer>'

在以下返回列表的代码中:publicListGeAllCust(){varresults=db.Customers.Select(x=>new{x.CustName,x.CustEmail,x.CustAddress,x.CustContactNo}).ToList()returnresults;}我收到C#无法转换列表的错误报告:Error:CannotimplicitlyconverttypeSystem.Collections.Generic.ListtoSystem.Collections.Generic.List这是为什么?下面的屏幕截图显示了VisualStudio在错误的

c# - ObjectPool<T> 或类似的 .NET 已经在库中了吗?

我不想自己写,因为我担心我可能会遗漏一些东西和/或抄袭其他人的工作,那么.NET库中是否存在ObjectPool(或类似)类?我所说的对象池是指一个类,它有助于缓存需要很长时间才能创建的对象,通常用于提高性能。 最佳答案 在即将发布的.NET(4.0)版本中,有一个ConcurrentBag可以很容易地在ObjectPool中使用的类执行;事实上there'sanarticleonMSDN这向您展示了如何准确地做到这一点。如果您无法访问最新的.NET框架,您可以获取System.Collections.Concurrent.NET3

c# - "Class of <T> where T : Enum"不工作

这个问题在这里已经有了答案:关闭11年前。PossibleDuplicate:CreateGenericmethodconstrainingTtoanEnum为什么我们不能在C#中执行此操作?而且,如果可能的话,我怎样才能做类似的事情!我想要什么:publicclassATagwhereT:enum{[Somecode..]}publicclassclassBasewhereT:enum{publicIDictionarytags{get;set;}}因此,当需要调用它时,我很确定只会获得我的枚举值之一。publicclassAClassUsingTag:classBase{publi

c# - 当 T 是结构时,List<T>.Find 如何工作?

我有一个List>.我需要按照以下方式做一些事情list.Find(x=>x.Key=="foobar")但是,如果列表中不存在,行为会是什么?通常它会返回null,但结构不能为null。 最佳答案 我的建议是对不可为null的类型使用FindIndexintindex=list.FindIndex(x=>x.Key=="foobar");if(index>=0){//found!UseResult(list[index]);}如果Find()不成功,返回默认值default(T)。对于不可空类型,此结果无法与具有默认值的常规条目区

c# - 将 List<object> 转换为 List<Type>,类型在运行时已知

我正在实现某种反序列化并遇到下一个问题:我有List和System.Reflection.Field,它是FieldType可以是List,List或List,所以我需要从List转换到那种类型。publicstaticobjectConvertList(Listvalue,Typetype){//typemaybeList,List,List}我可以单独写每个案例,但应该有更好的方法使用反射。 最佳答案 我相信你想要的是:publicstaticobjectConvertList(Listvalue,Typetype){varco

c# - Span<T> 不需要局部变量赋值。那是一个功能吗?

我注意到即使局部变量没有初始化,下面的代码也会编译和执行。这是Span的特性吗?voidUninitialized(){Spans1;varl1=s1.Length;Spans2;UninitializedOut(outs2);varl2=s2.Length;}voidUninitializedOut(outSpans){} 最佳答案 这看起来像是由引用程序集引起的问题,由于Span的方式而需要。具有特定于框架的内部结构。这意味着在引用程序集中:没有字段(编辑:这不完全正确-参见脚注)。Astruct如果所有字段都已分配,则被视为已

c# - 如何编写 Linq 表达式?即 Func<Exp<Func<X, Y>>, Exp<Func<Y, Z>>, Exp<Func<X, Z>>>

我正在创建一个Validator类(class)。我正在尝试实现LinqSelectMany我的验证器的扩展方法能够使用Linq查询组合表达式并验证最终结果,即使基础值发生变化也是如此。下面的测试代码展示了我的意图。vara=2;varb=3;varva=Validator.Create(()=>a,n=>n>=0&&nb,n=>n>=0&&n我看到了以下问题HowdoIcomposeexistingLinqExpressions这告诉我如何组成两个Func一起使用And表达式,但我需要能够以更有效的方式将函数组合在一起。例如,我有以下两个表达式:publicExpression>Va

c# - Dictionary<TKey, TValue> 是否比 List<T> 上的 LINQ 更快?

我一般用List用于收藏。但是如果我需要快速查找一个集合,那么例如在下面的示例中,我将使用字典,以便我可以通过id快速查找它:Dictionary但是因为我可以使用LINQ来查询List无论如何,如下所示,是否有任何理由去解决使用字典而不是列表的麻烦?是字典更快还是LINQ在幕后做了一些使其同样快的事情?usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;namespaceConsoleApplication1{classProgram{staticvoidMain(string[]