edi-dictionary-viewer
全部标签 最初我想使用SSIS来解析EDI文件,但是我看到了一些手动EDI解析器(字段映射),并且想在C#中使用自动化此功能。示例EDI文件: 最佳答案 有EDI.Net该库是开源的,支持所有三种已知的EDI格式(X12、EDIFact、Tradacoms)。对于X12,您需要使用以下预设提供IEdiGrammar的自定义实现。publicclassEDI_X12Grammar:IEdiGrammar{...}vargrammar=newEDI_X12Grammar(){ComponentDataElementSeparator=new[]{
我有一个名为EntityTypeTransform的抽象类,它有一个抽象方法,用于保存将IDataRecord转换为T实例的Func委托(delegate)。publicabstractclassEntityTypeTransformwhereTEntityType:class{publicabstractFuncGetDataTransform();}该类的实现可能看起来像(看起来像):publicclassTaskParameterEntityTypeTransform:EntityTypeTransform{publicoverrideFuncGetDataTransform()
知道为什么这种行为不同吗? 最佳答案 这是answer.TheprimaryreasonDictionarythrowsisthatthereisno"error"valuethatworksoveranyV.Hashtableisabletoreturnnullbecausethekeyisalwaysareferencetype. 关于c#-为什么Dictionary[index]会抛出KeyNotFoundException但Hashtable[index]不会?,我们在Stack
我一般用List用于收藏。但是如果我需要快速查找一个集合,那么例如在下面的示例中,我将使用字典,以便我可以通过id快速查找它:Dictionary但是因为我可以使用LINQ来查询List无论如何,如下所示,是否有任何理由去解决使用字典而不是列表的麻烦?是字典更快还是LINQ在幕后做了一些使其同样快的事情?usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;namespaceConsoleApplication1{classProgram{staticvoidMain(string[]
我有List,我需要将其转换为Dictionary自动生成key,有什么最短的方法可以实现吗?我试过:vardictionary=newDictionary();intindex=0;list.ForEach(x=>{definitions.Add(index,x);index++;});但我认为这是肮脏的方式。 最佳答案 vardict=list.Select((s,i)=>new{s,i}).ToDictionary(x=>x.i,x=>x.s); 关于c#-如何将List转换为Di
我正在使用Dictionary存储图像中颜色出现的频率,其中键是颜色(作为int),值是颜色在图像中出现的次数。当我处理更大/更彩色的图像时,这本词典会变得非常大。我在大约6,000,000个条目时遇到内存不足异常。这是在32位模式下运行时的预期容量吗?如果是这样,我能做些什么吗?有哪些替代方法可以跟踪这些不会耗尽内存的数据?作为引用,下面是循环遍历位图中的像素并将频率保存在Dictionary中的代码:Bitmapb;//=something...Dictionarycount=newDictionary();System.Drawing.Colorcolor;for(inti=0;
我正试图找到一个LINQoneliner,它接受一个Dictionary并返回一个Dictionary....这可能不可能,但会很好。有什么建议吗?编辑:ToDictionary()是显而易见的选择,但你们中有人实际尝试过吗?在Dictionary上它的工作方式与在Enumerable上的工作方式不同...您不能将键和值传递给它。编辑#2:哦,我在这行上面有一个错字,导致编译器搞砸了。一切顺利。 最佳答案 它通过简单的转换直接工作。Dictionaryinput=newDictionary();//TransforminputDic
我有这个:Dictionarydict=newDictionary();我想选择字典中包含值abc的所有项目。是否有内置函数可以让我轻松地做到这一点? 最佳答案 好吧,使用LINQ合理简单:varmatches=dict.Where(pair=>pair.Value=="abc").Select(pair=>pair.Key);请注意,这不会有任何效率-它是一个O(N)操作,因为它需要检查每个条目。如果您需要经常这样做,您可能需要考虑使用另一种数据结构-Dictionary专为按键快速查找而设计。
我想在给定Dictionary的情况下获取TKey和TValue的类型类型。例如。如果类型是Dictionary我想知道如何获得keyType=typeof(Int32)和valueType=typeof(字符串) 最佳答案 我认为这可能是您正在寻找的:Dictionarydictionary=newDictionary();Type[]arguments=dictionary.GetType().GetGenericArguments();TypekeyType=arguments[0];TypevalueType=argumen
我在.NET的二进制序列化中遇到了一个奇怪的行为,至少符合我的预期。在OnDeserialization回调之后,加载的Dictionary的所有项目都被添加到它们的父级。相比之下,List则采用另一种方式。这在现实世界的存储库代码中可能真的很烦人,例如,当您需要向字典项添加一些委托(delegate)时。请检查示例代码并观察断言。这是正常行为吗?[Serializable]publicclassData:IDeserializationCallback{publicListList{get;set;}publicDictionaryDictionary{get;set;}public