Tag: 顺序

用于排序对象列表的算法

假设您有一个对象列表。 用户在工作时主要使用所有对象。 如何订购对象列表,以便列表适应订单,用户主要使用? 您可以使用什么算法? 编辑:许多答案建议计算对象的使用次数。 这不起作用,因为所有对象的使用量相同,只是顺序不同。

如何使用XPath指定节点结果顺序?

我有以下XML,它由第三方库生成: 123-456-7890 234-567-8901 345-678-9012 问题是我不应该依赖Key属性(a)按顺序出现的值,或者(b)从1开始。更多是后者,但我希望这个处理尽可能安全。 我需要做的是获取电话号码列表, Key值(升序)排序。 因此,通过使用XmlNode.SelectNodes我希望生成的XmlNodeList以正确的顺序包含PhoneNumber节点,而不一定按照它们出现的顺序。 如何使用XPath实现这一目标? 这可以直接做吗? 如果它有所作为,我使用的是.NET 2.0。

字典排序

我正在使用这个var ordered = dictionary.Keys.OrderBy(x => x); 订购字典。 这很好地按字母顺序排列字典,我希望保持这种方式并添加一些例外…… 所以现在,有序字典对于输出看起来像这样: 1: “0603C” “113456” 1 2: “0603C” “984132” 8 3: “0603R” “11115” 3 4: “0603R” “13554” 1 5: “1608C_1.0” “119764” 2 6: “1608C_1.0” “147429” 54 7: “1608R_1.0” “122951” 4 8: “1608R_1.0” “147446” 1 9: “1608R_1.0” “147448” 23 10: “3216” “110762” 2 11: “TANT23” “119764” 2 //more here… […]

C#给定所需的订单需要空间有效的列表重新排序或排序

我的目标是:给定一个条目列表和一个所需的顺序,根据这个顺序重新排列条目列表。 该列表将非常大,因此空间效率非常重要。 例如: List data = ReadDataFromSomeWhere(); // data => [a, b, c]; List ordering = RandomPermutation(data.Count); // ordering => [2, 1, 3]; data.ReOrderBy(ordering); // data => [b, a, c]; 我可能会弄错,但似乎最直接和节省空间的解决方案是通过排序对数据进行排序/ 排序 。 或更一般地说: 给出两个列表:A,B有没有办法按B排序A? 该function基本上与以下相同: Array.Sort<(Of )>)(array[]()[], array[]()[]) 想到的一种方法是创建一个由A和B组成的新数据类型,即。 配对,然后按B值排序: List A; List B; Assert(A.Count == B.Count); var C = A.Select( (a,idx) => new […]

如何按顺序将项目列入列表?

任何人都可以教我如何在C#中按顺序将项目插入列表? 我有一个DateTimeOffset对象列表,我想按顺序将新的对象插入列表中。 List TimeList = … // determine the order before insert or add the new item 对不起,需要更新我的问题。 List ItemList = … //customizedClass contains DateTimeOffset object and other strings, int, etc. ItemList.Sort(); // this won’t work until set data comparison with DateTimeOffset ItemList.OrderBy(); // this won’t work until set data comparison with DateTimeOffset 有人可以帮我把DateTimeOffset作为.OrderBy()的参数吗? 我也试过了 […]

如何根据文化获得LINQ订购?

说我有一个带有瑞典语单词的字符串列表: apelsin , druva , apelsin , druva 现在我想要列出这个列表(请记住,这是真实查询的一个非常简化的版本): var result = from f in fruits // The list mentioned above orderby f select f 这会给我: apelsin , druva , druva , druva 。 然而,根据瑞典字母表,我应该得到: apelsin , druva , apelsin , druva 我尝试将System.Threading.Thread.CurrentThread.CurrentCulture更改为sv-SE但这根本不会影响它。 我是否必须编写自己的lambda函数并使用.OrderBy(…)或者我还能做些什么来保持LINQ完好无损?

C#如何使用Directory.GetFiles()获取与Windows资源管理器中的顺序相同的文件?

是否可以获取与Windows资源管理器中相同的文件 我知道“自然排序”,但它不是我需要的,我需要在Windows资源管理器中获取由相同属性排序的文件列表,例如: 如果我按属性“创建日期”订购了一个目录,那么我将获得如下文件列表: name create date file size 1.txt 2012/1/1 125Kb 2.tab 2012/3/2 15Kb 3.bmp 2013/5/5 26Kb 如果我的Windows资源管理器订单文件列表具有属性“文件大小”,则文件列表将是: name create date file size 2.tab 2012/3/2 15Kb 3.bmp 2013/5/5 26Kb 1.txt 2012/1/1 125Kb 有人可以帮忙吗?

为什么在由parantheses分隔并且由语句分隔时,C#中的浮点精度会有所不同?

我知道浮点精度在常规情况下是如何工作的,但我偶然发现了我的C#代码中的奇怪情况。 为什么result1和result2在这里不是完全相同的浮点值? const float A; // Arbitrary value const float B; // Arbitrary value float result1 = (A*B)*dt; float result2 = (A*B); result2 *= dt; 从这个页面我认为浮动算术是左关联的,这意味着值以从左到右的方式进行评估和计算。 完整的源代码涉及XNA的Quaternions。 我不认为我的常量是什么以及VectorHelper.AddPitchRollYaw()的作用是什么。 如果我以相同的方式计算三角形俯仰/滚转/偏航角度,测试通过就好了,但是由于代码低于它不通过: X Expected: 0.275153548f But was: 0.275153786f [TestFixture] internal class QuaternionPrecisionTest { [Test] public void Test() { JoystickInput input; input.Pitch = 0.312312432f; input.Roll = 0.512312432f; input.Yaw = […]