草庐IT

multi-value-dictionary

全部标签

c# - 是否有任何有值(value)的 CSLA 替代品可用?

我的公司有兴趣将大型业务应用程序移植到.NET。我们计划开发桌面版和silverlight版。我主要研究了CSLA框架(得到了rocky的书,已经读了一半)并发现它有点过度设计,数据层方面似乎也没有那么完善。有没有其他框架声称可以做CSLA正​​在做的事情?我不是在谈论ORM工具(例如L2S、EF、NHibernate)。我感兴趣的是支持业务规则的框架、简单的n层架构、对象是域驱动的而不是数据库驱动的、业务对象的安全性等...我知道我可以找到小型框架来完成一些所需的工作(我想到了EnterpriseApplicationBlock),但我正在寻找一个包含所有内容的框架。

c# - : Dictionary<string, object> 或 Dictionary<enum,object> 哪个更快/更有效?

enum类型用作字典键时是否比string类型更快/更有效?IDictionaryorIDictionary事实上,哪种数据类型最适合作为字典键,为什么?请考虑以下事项:注意:为简单起见,只有5个属性structMyKeys{publicstringIncomplete="IN";publicstringSubmitted="SU";publicstringProcessing="PR";publicstringCompleted="CO";publicstringClosed="CL";}和enumMyKeys{Incomplete,Submitted,Processing,Comp

C# 反射 : how to get an array values & length?

FieldInfo[]fields=typeof(MyDictionary).GetFields();MyDictionary是一个静态类,所有字段都是字符串数组。如何获取每个数组的长度值,然后遍历所有元素?我尝试了这样的类型转换:fieldasArray但它会导致错误Cannotconverttype'System.Reflection.FieldInfo'to'System.Array'viaareferenceconversion,boxingconversion,unboxingconversion,wrappingconversion,ornulltypeconversion

c# - Json Serialize Dictionary<Enum, Int32> 的问题

每当我尝试序列化字典时,我都会得到异常:System.ArgumentException:Type'System.Collections.Generic.Dictionary`2[[Foo.DictionarySerializationTest+TestEnum,Foo,Version=1.0.0.0,Culture=neutral,PublicKeyToken=null],[System.Int32,mscorlib,Version=2.0.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089]]'isnotsupportedfors

c# - 用 foreach 遍历 Dictionary,这是按什么顺序完成的?

假设我有一个字典,我按特定顺序添加每个键和值条目。现在,如果我希望稍后能够以添加条目的相同顺序迭代此Dictionary,这是我在该字典上使用简单的foreach循环获得的顺序吗?如果没有,我会很高兴听到我该怎么做,我知道这可以用List而不是Dictionary轻松完成,但我不想到。谢谢 最佳答案 普通的Dictionary不保证项目的顺序。你需要OrderedDictionary如果您想维护添加到其中的订单项目。请注意,在.Net框架中没有此类的通用版本,因此要么必须放弃一些类型安全性,要么找到其他实现(即https://www

c# - 如何创建一个空的 IReadOnlyCollection

我正在为MultiValueDictionary创建一个扩展方法封装频繁ContainsKey检查,我想知道创建空IReadOnlyCollection的最佳方法是什么?。到目前为止我使用的是newList(0).AsReadOnly()但必须有更好的方法,相当于IEnumerable的Enumerable.EmptypublicstaticIReadOnlyCollectionGetValuesOrEmpty(thisMultiValueDictionarymultiValueDictionary,TKeykey){IReadOnlyCollectionvalues;return!m

c# - 将 Dictionary<string, string> 转换为 Dictionary<string, object> 的最简单方法是什么?

我使用的API返回键值集合作为Dictionary.我需要将其转换为Dictionary.我觉得应该有一种方法可以在不“手动”遍历每个键值对的情况下进行这种转换/映射,但谷歌搜索或C#对象引用并没有立即产生解决方案。 最佳答案 尝试以下操作varnewMap=oldMap.ToDictionary(pair=>pair.Key,pair=>(object)pair.Value); 关于c#-将Dictionary转换为Dictionary的最简单方法是什么?,我们在StackOverfl

c# - Resharper 中的警告 "Return value of pure method is not used"

我有一个快速的问题,关于我正在工作的c#项目中从VisualStudio中的Resharper收到的警告。警告是:"ReturnValueofpuremethodisnotused"发生这种情况的方法如下:privatestaticboolFilePathHasInvalidChars(stringuserInputPath){try{//thisiswherethewarningoccurs:Path.GetFullPath(userInputPath);}catch(Exceptione){Log.Error(String.Format("TheProgramfailedtorun

c# - 如何将对象集合/字典序列化为 <key>value</key>

有没有办法将键/值对(最好是强类型,但也可能来自字典)序列化为下面所需的格式?publicListIdentifiers=newList();publicclassIdentifier{publicstringName{get;set;}publicstringDescription{get;set;}}这通常会序列化为以下内容:somenamesomedescription...我们考虑的另一种可能的方法是使用哈希表/字典:publicDictionaryIdentifiers=newDictionary{{"somename","somedescription"},{"anothe

c# - 构造函数或属性 : which one is the better choice while assigning values

在赋值时我们应该在属性上使用构造函数,反之亦然。 最佳答案 构造函数是一种非常方便且功能强大的契约类型-一种要求消费者在甚至可以使用您的对象之前提供某些信息的方法。因此,对于实例正常运行所必需的信息,请使用构造函数参数。这是依赖注入(inject)的基本概念-任何你依赖于完成你的工作的东西,都必须在你开始之前注入(inject)(提供)给你。属性可以代表一个有趣的问题。总的来说,经验告诉我,只要有可能,属性应该是只读的,对象通常应该尽可能在外部不可变。将公共(public)setter添加到属性会使您的类的复杂性成倍增加。当然总是有