Tag: 集合

WCF返回ArrayOfKeyValueOfintstringKeyValueOfintstring 而不是List 和List instread of List

所以我花了最后几个小时调查这个问题,显然我不是唯一一个。 为什么我的词典和列表被作为数组返回? 我知道为了兼容性,Arrays被用作默认值。 WCF有意识地努力使自己远离.Net依赖。 但我的服务器和客户端都是用C#.Net开发的,所以我没事。 以下是仅针对StackOverflow的类似问题的示例: WCF服务返回数组而不是List 为什么WCF会像我期望的那样返回myObject []而不是List? WCF服务返回一个字典数组 WCF代理返回数组而不是列表甚至收集类型== Generic.List WCF返回数组而不是列表甚至收集类型== Generic.List 为什么我的WCF服务返回而ARRAY而不是List? 使用svcutil.exe生成的WCF服务代理中的数组而不是列表 我设置的内容: 我通过这个命令生成代理: C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin>svcutil.exe /language:cs /out:generatedProxy.cs /config:app.config /ct:System.Collections.Generic.List`1 http://192.168.0.99:9000/ProjectDatabase/?? 我的服务合同如下: [ServiceContract] public interface IMyContract { [OperationContract] [ServiceKnownType(typeof(Dictionary))] Dictionary getClassDictionary(); } 我的实施: public Dictionary getClassDictionary() { Dictionary myDict = new Dictionary(); myDict.Add(1, “Geometry”); myDict.Add(2, “Algebra”); myDict.Add(3, “Graph Theory”); […]

.NET中是否有SortedList 类?

我需要根据它们的内容对某些对象进行排序(实际上根据它们的一个属性,这不是关键,可能在不同对象之间重复)。 .NET提供了两个类( SortedDictionary和SortedList ),并且都使用二叉树实现。 它们之间的唯一区别是 SortedList比SortedDictionary使用更少的内存。 对于未排序的数据,SortedDictionary具有更快的插入和删除操作,O(log n)而不是SortedList的O(n)。 如果列表是从排序数据中一次性填充的,则SortedList比SortedDictionary快。 我可以使用List实现我想要的东西,然后将它的Sort()方法与IComparer的自定义实现一起使用,但它不会节省时间,因为每次我想插入一个新对象时我会对整个List进行排序,而一个好的SortedList只会将项目插入正确的位置。 我需要的是一个带有RefreshPosition(int索引)的SortedList类,它只移动已更改(或插入)的对象,而不是每次内部对象更改时都使用整个列表。 我错过了一些明显的东西吗

如何实现多索引字典?

基本上我想要像Dictionary 这样的东西,但不是(正如我在其他问题中看到的那样)和AND中的键,但是在OR中。 为了更好地解释:我希望能够在字典中找到只提供其中一个键的元素,而不是两者。 我还认为我们应该考虑线程安全性以及轻松扩展到Dictionary 解决方案的能力……

没有锁的Threadsafe集合

我正准备接受采访,我遇到了这个问题。 我试过,但我找不到任何可以创建包含线程安全集合而没有“锁定”的类。 如果知道任何解决方案,请帮助。 创建一个派生自Object的C#类,并实现以下方法: AddString – 此方法应将给定字符串添加到内部集合 ToString – 重写此方法并返回包含内部集合中所有字符串的单个逗号分隔字符串 要求: 必须是线程安全的 必须支持多个并发读者 不得使用任何预先存在的线程安全集合 额外奖励:不要使用任何类型的锁

什么是collections类型名称中的’1

我想知道收集类型名称中的“1”意味着什么? 例如:List’1,IList’1有人知道那是什么吗?

使用reflection从类列表中的属性中获取值

我试图从列表中的对象获取值,该列表是主对象的一部分。 我有主要对象,其中包含可以是集合的各种属性。 现在我试图弄清楚如何访问对象中包含的通用列表。 /// ///Code for the inner class /// public class TheClass { public TheClass(); string TheValue { get; set; } } //Note this class is used for serialization so it won’t compile as-is /// ///Code for the main class /// public class MainClass { public MainClass(); public List TheList { get; set; } […]

C#关联数组

我一直在使用Hashtable,但本质上,哈希表没有订购,我需要在添加它们时保持一切顺序(因为我想以相同的顺序将它们拉出来)。 例如,如果我这样做: pages[“date”] = new FreeDateControl(“Date:”, false, true, false); pages[“plaintiff”] = new FreeTextboxControl(“Primary Plaintiff:”, true, true, false); pages[“loaned”] = new FreeTextboxControl(“Amount Loaned:”, true, true, false); pages[“witness”] = new FreeTextboxControl(“EKFG Witness:”, true, true, false); 当我做一个foreach时,我希望能够按以下顺序得到它: pages[“date”] pages[“plaintiff”] pages[“loaned”] pages[“witness”] 我怎样才能做到这一点?

字典的枚举器是否按照添加的顺序返回键值对?

我理解字典不是有序集合,不应该依赖于字典中插入和检索的顺序。 但是,这是我注意到的: 为Dictionary添加了20个键值对 通过做foreach(KeyValuePair …)检索它们 检索顺序与添加顺序相同。 测试了大约16个键值对。 这是设计的吗?

如何比较C#中的两个词典

我有两个Generic Dictionaries.Both有相同的键。但是值可以不同。我想比较第二个字典和第一个字典。如果值之间存在差异,我想将这些值存储在单独的字典中。 1st Dictionary ———— key Value Barcode 1234566666 Price 20.00 2nd Dictionary ————– key Value Barcode 1234566666 Price 40.00 3rd Dictionary ————– key Value Price 40 可以任何人给我一个最好的算法来做这个。我写了一个算法,但它有很多循环。我正在寻求一个简短而有效的想法。也像使用LINQ查询表达式或LINQ lamda表达式的解决方案。我正在使用。带有C#的Net Framework 3.5。 我发现了一些关于Except()方法的东西。但不幸的是我无法理解该方法发生了什么。如果有人解释建议的算法,那就太好了。我总是喜欢学习:)。 谢谢塔博。

DataGridView选定的行向上和向下移动

如何允许向上或向下移动DataGridView(DGV)中的选定行。 我之前用ListView完成了这个。 不幸的是,对我来说,更换DGV不是一种选择( 诅咒 )。 顺便说一句,DGV数据源是一个通用集合。 DGV侧面有两个按钮,是,UP和Down。 任何人都可以帮我指出正确的方向。 我确实有我用于ListView的代码,如果它有帮助(它没有帮助我)。