草庐IT

List_of_segments

全部标签

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# - NaoQi 和 Leap 问题 : An unhandled exception of type 'System.BadImageFormatException' . .. 并且无法加载文件或程序集

目前,我遇到了一个问题,我无法通过Google上的解决方案解决这个问题。到目前为止没有任何效果。当我编译LeapMotion代码并导入NaoqiC#库时,它工作正常。当我实际尝试使用一行代码连接到机器人时,我的程序崩溃了。我的程序设置为为任何CPU构建。.dll被Leap库和NaoQi库引用,并且.dll被放置在调试文件夹和项目文件夹中以备不时之需。目前我还不知道问题出在哪里。这里有人能弄清楚吗?我会很高兴让这个工作。这是第一条错误信息,然后它要求我中断或继续:Anunhandledexceptionoftype'System.BadImageFormatException'occur

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[]

c# - 如何将 List<string> 转换为 List<myEnumType>?

我未能转换List至List.我不知道为什么?stringVal=it.Current.Value.ToString();//workswellhereListValList=newList(Val.Split(','));//compilefailed原因myEnumType类型定义为字符串枚举类型,publicenummyEnumType{strVal_1,strVal_2,strVal_3,}有什么问题吗?感谢您的回复。 最佳答案 编辑:糟糕,我也错过了C#2标签。我将在下面保留其他可用选项,但是:在C#2中,您可能最好使用L

c# - 使用 LINQ 创建一个 List<T> 其中 T : someClass<U>

这与我之前的一个问题有关C#GenericListconversiontoClassimplementingList我有以下代码:publicabstractclassDataField{publicstringName{get;set;}}publicclassDataField:DataField{publicTValue{get;set;}}publicstaticListConvertXML(XMLDocumentdata){result=(fromdinXDocument.Parse(data.OuterXML).Root.Decendendants()selectnewDa

C# 从 List<List<int>> 中删除重复项

我无法想出最有效的算法来从List>中删除重复项,例如(我知道这看起来像int[]的列表,但只是出于视觉目的这样做:my_list[0]={1,2,3};my_list[1]={1,2,3};my_list[2]={9,10,11};my_list[3]={1,2,3};所以输出就是new_list[0]={1,2,3};new_list[1]={9,10,11};如果您有任何想法,请告诉我。我真的很感激。 最佳答案 构建自定义EqualityComparer>:publicclassCusComparer:IEqualityCom

c# - 使用反射将项目添加到 List<T>

我试图通过反射将项目添加到IList,但在调用“添加”方法时抛出错误“对象引用未设置”。在调试时我开始知道GetMethod("Add")正在返回NULL引用。TypeobjTyp=typeof(MyObject);//HardCodedTypeNamefordemopurposevarIListRef=typeof(List);Type[]IListParam={objTyp};objectResult=IListRef.MakeGenericType(IListParam);MyObjectobjTemp=newMyObject();Result.GetType().GetMeth

c# - 如何正确克隆 List<MyObject>?

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:HowdoIcloneagenericlistinC#?Lista1=newList();varnew1=a1;现在,如果我更改a1,那么new1也会更改。所以我的问题是如何正确地克隆a1?