<?xml version="1.0"?><?xml-stylesheet type="text/xsl" href="http://www.codeplex.com/rss.xsl"?><rss version="2.0"><channel><title>Wintellect's Power Collections for .NET</title><link>http://www.codeplex.com/PowerCollections/Project/ProjectRss.aspx</link><description>Welcome to Power Collections, A Community Project to Develop the Best Public License type safe Collection Classes for .NET.  Power Collections makes heavy use of .NET Generics. The goal of the proj...</description><item><title>NEW POST: Distributing a refactored version</title><link>http://www.codeplex.com/PowerCollections/Thread/View.aspx?ThreadId=27844</link><description>&lt;div style="line-height: normal;"&gt;I am working on a commercial library project where PowerCollections is used as an utility library (ie, it is not the main feature). That said, I would still like to expose it publicly as a convenience. What I would like to know for sure is if I can refactor PowerCollections (e.g. split Algorithms class in smaller parts, change the namespace/class/method names, etc.) and distribute said modifications, both in binary and source form, given that I include the original license and copyright notices, and clearly annotate where I modified the original source code. Reading the EPL, I am guessing the answer is yes, but I would like a confirmation of that as I am not 100% sure. Thank you.&lt;/div&gt;</description><author>slorion</author><pubDate>Fri, 16 May 2008 10:16:33 GMT</pubDate><guid isPermaLink="false">NEW POST: Distributing a refactored version 20080516101633A</guid></item><item><title>CREATED ISSUE: Pair&lt;TFirst, TSecond&gt; should *not* implement IComparable, should implement IEquatable</title><link>http://www.codeplex.com/PowerCollections/WorkItem/View.aspx?WorkItemId=3979</link><description>The current IComparable implementation throws if the contained types fail to implement IComparable, which I believe to be a bad design &amp;#40;if that&amp;#39;s the case, the argument should be required to implement IComparable&amp;#41;&lt;br /&gt;&lt;br /&gt;It may be a good idea, though, to have Pair implement IEquatable&amp;#60;&amp;#62;, since Equals&amp;#40;Pair&amp;#60;TFirst, TSecond&amp;#62; other&amp;#41; already exists.&lt;br /&gt;</description><author>okoboji</author><pubDate>Sun, 09 Mar 2008 05:05:19 GMT</pubDate><guid isPermaLink="false">CREATED ISSUE: Pair&lt;TFirst, TSecond&gt; should *not* implement IComparable, should implement IEquatable 20080309050519A</guid></item><item><title>CREATED ISSUE: MultiDictionary Remove and RemoveMany bug</title><link>http://www.codeplex.com/PowerCollections/WorkItem/View.aspx?WorkItemId=3728</link><description>If you try to remove an item from a MultiDictionary when it doesn&amp;#39;t exist and there is only one element in the MultiDictionary, the last element is removed. See code snippet below&amp;#58;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;MultiDictionary&amp;#60;string, int&amp;#62; lMultiDictionary &amp;#61; new MultiDictionary&amp;#60;string, int&amp;#62;&amp;#40;false&amp;#41;&amp;#59;&lt;br /&gt;lMultiDictionary.Add&amp;#40;&amp;#34;key&amp;#34;, 1&amp;#41;&amp;#59;&lt;br /&gt;lMultiDictionary.Remove&amp;#40;&amp;#34;key&amp;#34;, 2&amp;#41;&amp;#59;&lt;br /&gt;&lt;br /&gt;If this code is executed the MultiDictionary will no longer contain any values for &amp;#34;key&amp;#34;.&lt;br /&gt;&lt;br /&gt;From the PowerCollections source code in MultiDictionary&amp;#58;&amp;#58;Remove&amp;#40;TKey key, TValue value&amp;#41;&lt;br /&gt;&amp;#123;&lt;br /&gt;...&lt;br /&gt;        if &amp;#40;existingCount &amp;#61;&amp;#61; 1&amp;#41; &amp;#123;                                           &amp;#47;&amp;#47;&amp;#42;&amp;#42;&amp;#42;&amp;#42;&amp;#42; There is no check here for indexFound &amp;#62;&amp;#61; 0&amp;#42;&amp;#42;&amp;#42;&amp;#42;&amp;#42;&amp;#42;&amp;#42;&amp;#42;&lt;br /&gt;                    &amp;#47;&amp;#47; Removing the last value. Remove the key.&lt;br /&gt;                    hash.Delete&amp;#40;existing, out keyValues&amp;#41;&amp;#59;&lt;br /&gt;                    return true&amp;#59;&lt;br /&gt;                &amp;#125;&lt;br /&gt;                else if &amp;#40;indexFound &amp;#62;&amp;#61; 0&amp;#41; &amp;#123;&lt;br /&gt;                    &amp;#47;&amp;#47; Found a value. Remove it.&lt;br /&gt;                    if &amp;#40;indexFound &amp;#60; existingCount - 1&amp;#41;&lt;br /&gt;                        Array.Copy&amp;#40;existing.Values, indexFound &amp;#43; 1, existing.Values, indexFound, existingCount - indexFound - 1&amp;#41;&amp;#59;&lt;br /&gt;                    existing.Count &amp;#61; existingCount - 1&amp;#59;&lt;br /&gt;&lt;br /&gt;                    &amp;#47;&amp;#47; Update the hash.&lt;br /&gt;                    hash.Find&amp;#40;existing, true, out keyValues&amp;#41;&amp;#59;&lt;br /&gt;                    return true&amp;#59;&lt;br /&gt;                &amp;#125;&lt;br /&gt;                else &amp;#123;&lt;br /&gt;                    &amp;#47;&amp;#47; Value was not found.&lt;br /&gt;                    return false&amp;#59;&lt;br /&gt;                &amp;#125;&lt;br /&gt;...&lt;br /&gt;&amp;#125;&lt;br /&gt;</description><author>MelindaYoung</author><pubDate>Tue, 19 Feb 2008 15:38:05 GMT</pubDate><guid isPermaLink="false">CREATED ISSUE: MultiDictionary Remove and RemoveMany bug 20080219033805P</guid></item><item><title>NEW POST: .NET Compact Framework 2.0 support</title><link>http://www.codeplex.com/PowerCollections/Thread/View.aspx?ThreadId=20809</link><description>&lt;div class="wikidoc"&gt;
Hi.&lt;br /&gt; &lt;br /&gt;I used Wintellect's Power Collections for my .NET CF projects (recompiled against .NET CF 2.0 without Serializable attribute and replaced just one native call with same implementation for .NET CF). I can provide source code changes for it (paths). If somebody plans to official .NET CF 2.0 support for library where i can send paths?&lt;br /&gt; &lt;br /&gt;Best regards,&lt;br /&gt;  Zaripov Rinat .&lt;br /&gt;
&lt;/div&gt;</description><author>wizrr</author><pubDate>Tue, 22 Jan 2008 09:57:34 GMT</pubDate><guid isPermaLink="false">NEW POST: .NET Compact Framework 2.0 support 20080122095734A</guid></item><item><title>COMMENTED ISSUE: Empty Set&lt;&gt; serialization bug</title><link>http://www.codeplex.com/PowerCollections/WorkItem/View.aspx?WorkItemId=1704</link><description>This sample crashes then the Set is empty.&lt;br /&gt;&lt;br /&gt;new BinaryFormatter&amp;#40;&amp;#41;.Serialize&amp;#40;new MemoryStream&amp;#40;&amp;#41;, new Set&amp;#60;int&amp;#62;&amp;#40;&amp;#41;&amp;#41;&amp;#59;&lt;br /&gt;Comments: ** Comment from web user: MihaMarkic ** &lt;p&gt;Duh, I see that fix is already posted &amp;#58;-&amp;#41;&lt;/p&gt;</description><author>MihaMarkic</author><pubDate>Sun, 23 Dec 2007 20:44:16 GMT</pubDate><guid isPermaLink="false">COMMENTED ISSUE: Empty Set&lt;&gt; serialization bug 20071223084416P</guid></item><item><title>COMMENTED ISSUE: Empty Set&lt;&gt; serialization bug</title><link>http://www.codeplex.com/PowerCollections/WorkItem/View.aspx?WorkItemId=1704</link><description>This sample crashes then the Set is empty.&lt;br /&gt;&lt;br /&gt;new BinaryFormatter&amp;#40;&amp;#41;.Serialize&amp;#40;new MemoryStream&amp;#40;&amp;#41;, new Set&amp;#60;int&amp;#62;&amp;#40;&amp;#41;&amp;#41;&amp;#59;&lt;br /&gt;Comments: ** Comment from web user: MihaMarkic ** &lt;p&gt;Here is the fixed code if anybody is interested&amp;#58;&lt;br /&gt;        void IDeserializationCallback.OnDeserialization&amp;#40;object sender&amp;#41;&lt;br /&gt;        &amp;#123;&lt;br /&gt;            if &amp;#40;serializationInfo &amp;#61;&amp;#61; null&amp;#41;&lt;br /&gt;                return&amp;#59;&lt;/p&gt;&lt;p&gt;            loadFactor &amp;#61; serializationInfo.GetSingle&amp;#40;&amp;#34;loadFactor&amp;#34;&amp;#41;&amp;#59;&lt;br /&gt;            equalityComparer &amp;#61; &amp;#40;IEqualityComparer&amp;#60;T&amp;#62;&amp;#41; serializationInfo.GetValue&amp;#40;&amp;#34;equalityComparer&amp;#34;, typeof&amp;#40;IEqualityComparer&amp;#60;T&amp;#62;&amp;#41;&amp;#41;&amp;#59;&lt;/p&gt;&lt;p&gt;            T&amp;#91;&amp;#93; items &amp;#61; &amp;#40;T&amp;#91;&amp;#93;&amp;#41;serializationInfo.GetValue&amp;#40;&amp;#34;items&amp;#34;, typeof&amp;#40;T&amp;#91;&amp;#93;&amp;#41;&amp;#41;&amp;#59;&lt;br /&gt;            if &amp;#40;items &amp;#33;&amp;#61; null&amp;#41;&lt;br /&gt;            &amp;#123;&lt;br /&gt;                T dummy&amp;#59;&lt;/p&gt;&lt;p&gt;                EnsureEnoughSlots&amp;#40;items.Length&amp;#41;&amp;#59;&lt;br /&gt;                foreach &amp;#40;T item in items&amp;#41;&lt;br /&gt;                    Insert&amp;#40;item, true, out dummy&amp;#41;&amp;#59;&lt;br /&gt;            &amp;#125;&lt;/p&gt;&lt;p&gt;            serializationInfo &amp;#61; null&amp;#59;&lt;br /&gt;        &amp;#125;&lt;/p&gt;&lt;p&gt;void ISerializable.GetObjectData&amp;#40;SerializationInfo info, StreamingContext context&amp;#41;&lt;br /&gt;        &amp;#123;&lt;br /&gt;            if &amp;#40;info &amp;#61;&amp;#61; null&amp;#41;&lt;br /&gt;                throw new ArgumentNullException&amp;#40;&amp;#34;info&amp;#34;&amp;#41;&amp;#59;&lt;/p&gt;&lt;p&gt;            info.AddValue&amp;#40;&amp;#34;equalityComparer&amp;#34;, equalityComparer, typeof&amp;#40;IEqualityComparer&amp;#60;T&amp;#62;&amp;#41;&amp;#41;&amp;#59;&lt;br /&gt;            info.AddValue&amp;#40;&amp;#34;loadFactor&amp;#34;, loadFactor, typeof&amp;#40;float&amp;#41;&amp;#41;&amp;#59;&lt;br /&gt;            T&amp;#91;&amp;#93; items &amp;#61; new T&amp;#91;count&amp;#93;&amp;#59;&lt;br /&gt;            int i &amp;#61; 0&amp;#59;&lt;br /&gt;            if &amp;#40;table &amp;#33;&amp;#61; null&amp;#41;&lt;br /&gt;            &amp;#123;&lt;br /&gt;                foreach &amp;#40;Slot slot in table&amp;#41;&lt;br /&gt;                    if &amp;#40;&amp;#33;slot.Empty&amp;#41;&lt;br /&gt;                        items&amp;#91;i&amp;#43;&amp;#43;&amp;#93; &amp;#61; slot.item&amp;#59;&lt;br /&gt;                info.AddValue&amp;#40;&amp;#34;items&amp;#34;, items, typeof&amp;#40;T&amp;#91;&amp;#93;&amp;#41;&amp;#41;&amp;#59;&lt;br /&gt;            &amp;#125;&lt;br /&gt;            else&lt;br /&gt;                info.AddValue&amp;#40;&amp;#34;items&amp;#34;, null, typeof&amp;#40;T&amp;#91;&amp;#93;&amp;#41;&amp;#41;&amp;#59;&lt;br /&gt;        &amp;#125;&lt;/p&gt;</description><author>MihaMarkic</author><pubDate>Sun, 23 Dec 2007 20:43:08 GMT</pubDate><guid isPermaLink="false">COMMENTED ISSUE: Empty Set&lt;&gt; serialization bug 20071223084308P</guid></item><item><title>NEW POST: Using Power Collections in .Net 1.1</title><link>http://www.codeplex.com/PowerCollections/Thread/View.aspx?ThreadId=17915</link><description>&lt;div class="wikidoc"&gt;
The library uses Generics,and Generics is a 2.0 only feature.&lt;br /&gt; &lt;br /&gt;It's (almost) 2008, and the move to 2.0 should be in your near future.&lt;br /&gt; &lt;br /&gt;Good luck.&lt;br /&gt; &lt;br /&gt;
&lt;/div&gt;</description><author>granadaCoder</author><pubDate>Thu, 20 Dec 2007 22:15:14 GMT</pubDate><guid isPermaLink="false">NEW POST: Using Power Collections in .Net 1.1 20071220101514P</guid></item><item><title>NEW POST: Install</title><link>http://www.codeplex.com/PowerCollections/Thread/View.aspx?ThreadId=19427</link><description>&lt;div class="wikidoc"&gt;
No...&lt;br /&gt; &lt;br /&gt;The zip file contains&lt;br /&gt;\PowerCollections\Binaries\PowerCollections.dll&lt;br /&gt; &lt;br /&gt;You simply go to your .Net project..do a &amp;quot;Add Reference&amp;quot;, and browse to this file.  Then click &amp;quot;Add&amp;quot;.&lt;br /&gt; &lt;br /&gt;Now you can use it.  It will (most likely) be copied to your /bin/Debug/ folder when you build your application.&lt;br /&gt; &lt;br /&gt;Good luck.&lt;br /&gt;
&lt;/div&gt;</description><author>granadaCoder</author><pubDate>Thu, 20 Dec 2007 22:14:11 GMT</pubDate><guid isPermaLink="false">NEW POST: Install 20071220101411P</guid></item><item><title>NEW POST: Xml [Serializable] ?</title><link>http://www.codeplex.com/PowerCollections/Thread/View.aspx?ThreadId=19489</link><description>&lt;div class="wikidoc"&gt;
Are there any plans to make the collections Xml Serializable friendly?&lt;br /&gt;I've encounted this issue with the MultiDictionary object.&lt;br /&gt; &lt;br /&gt; &lt;br /&gt;One of the obstacles...is the lack of default constructors.  Here is one I tried to implement.&lt;br /&gt; &lt;br /&gt;        public MultiDictionary()&lt;br /&gt;            : this(true, EqualityComparer&amp;lt;TKey&amp;gt;.Default, EqualityComparer&amp;lt;TValue&amp;gt;.Default)&lt;br /&gt;        {&lt;br /&gt;                        //I picked &amp;quot;true&amp;quot; for allow duplicates.....&lt;br /&gt;        }&lt;br /&gt; &lt;br /&gt;I attempted this inclusion...and it helped.&lt;br /&gt; &lt;br /&gt;What's getting me is the implementation of a ..Default Accessor Implementation..&lt;br /&gt;I have to admit, my Generic(s) skills are average at best.&lt;br /&gt; &lt;br /&gt;But something like this is apparently missing.  Here is where I got stuck.&lt;br /&gt; &lt;br /&gt;public Something?? this&lt;a href="http://www.codeplex.com/PowerCollections/Wiki/View.aspx?title=int%20index"&gt;int index&lt;/a&gt;&lt;br /&gt;{&lt;br /&gt;get&lt;br /&gt;set&lt;br /&gt;}&lt;br /&gt; &lt;br /&gt;I tried a couple of different things...but either my lack of ability with generics or not discerning the concrete or base object correctly is hindering me.&lt;br /&gt; &lt;br /&gt; &lt;br /&gt;Here is my test object ... which I can create...but I get the issues when I try to serialize it to Xml.&lt;br /&gt; &lt;br /&gt; &lt;br /&gt;    &lt;a href="http://www.codeplex.com/PowerCollections/Wiki/View.aspx?title=Serializable"&gt;Serializable&lt;/a&gt;&lt;br /&gt;    public class PowerCollectionMultiDictionaryTestWrapperForXml&lt;br /&gt;    {&lt;br /&gt;        private string _name = string.Empty;&lt;br /&gt;        public string Name&lt;br /&gt;        {&lt;br /&gt;            get { return _name; }&lt;br /&gt;            set { _name = value; }&lt;br /&gt;        }&lt;br /&gt; &lt;br /&gt;        private int _age = 0;&lt;br /&gt;        public int Age&lt;br /&gt;        {&lt;br /&gt;            get { return _age; }&lt;br /&gt;            set { _age = value; }&lt;br /&gt;        }&lt;br /&gt; &lt;br /&gt;        Wintellect.PowerCollections.MultiDictionary&amp;lt;Guid, Guid&amp;gt; _doubleGuidMultiDictionary = new Wintellect.PowerCollections.MultiDictionary&amp;lt;Guid, Guid&amp;gt;(true);&lt;br /&gt; &lt;br /&gt;        public Wintellect.PowerCollections.MultiDictionary&amp;lt;Guid, Guid&amp;gt; DoubleGuidMultiDictionary&lt;br /&gt;        {&lt;br /&gt;            get { return _doubleGuidMultiDictionary; }&lt;br /&gt;            set { _doubleGuidMultiDictionary = value; }&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt; &lt;br /&gt; &lt;br /&gt; &lt;br /&gt;//and code to instantiate&lt;br /&gt;                PowerCollectionMultiDictionaryTestWrapperForXml pct = new PowerCollectionMultiDictionaryTestWrapperForXml();&lt;br /&gt;                pct.Name = &amp;quot;Sloan&amp;quot;;&lt;br /&gt;                pct.Age = 35;&lt;br /&gt;                pct.DoubleGuidMultiDictionary.Add(Guid.NewGuid(), Guid.NewGuid());&lt;br /&gt; &lt;br /&gt; &lt;br /&gt;I'll continue to work on it..but thought I'd at least list out the issue.&lt;br /&gt; &lt;br /&gt; &lt;br /&gt;Since the code is:&lt;br /&gt; &lt;br /&gt;    &lt;a href="http://www.codeplex.com/PowerCollections/Wiki/View.aspx?title=Serializable"&gt;Serializable&lt;/a&gt;&lt;br /&gt;    public class MultiDictionary&amp;lt;TKey, TValue&amp;gt; : MultiDictionaryBase&amp;lt;TKey, TValue&amp;gt;, ICloneable&lt;br /&gt;    {}&lt;br /&gt; &lt;br /&gt;The intent definately looks to be &amp;quot;Make it Serializable&amp;quot;.&lt;br /&gt; &lt;br /&gt;Thanks.&lt;br /&gt; &lt;br /&gt; &lt;br /&gt; &lt;br /&gt; &lt;br /&gt;
&lt;/div&gt;</description><author>granadaCoder</author><pubDate>Thu, 20 Dec 2007 22:03:06 GMT</pubDate><guid isPermaLink="false">NEW POST: Xml [Serializable] ? 20071220100306P</guid></item><item><title>NEW POST: Install</title><link>http://www.codeplex.com/PowerCollections/Thread/View.aspx?ThreadId=19427</link><description>&lt;div class="wikidoc"&gt;
Hello, I'm a newbie to .net, do I need to register PowerCollections.dll using regsvr32 to be able to use this collection?  Please advise on install procedure.  Thanks.&lt;br /&gt; &lt;br /&gt;Gi&lt;br /&gt;
&lt;/div&gt;</description><author>GiJeet</author><pubDate>Wed, 19 Dec 2007 18:21:04 GMT</pubDate><guid isPermaLink="false">NEW POST: Install 20071219062104P</guid></item><item><title>COMMENTED ISSUE: Bug in MultiDictionary: RemoveAll throws InvalidOperationException: Collection was modified during an enumeration.</title><link>http://www.codeplex.com/PowerCollections/WorkItem/View.aspx?WorkItemId=2566</link><description>The following snippet shows that RemoveAll throws InvalidOperationException&amp;#58; Collection was modified during an enumeration.&lt;br /&gt;&lt;br /&gt;using System&amp;#59;&lt;br /&gt;using System.Collections.Generic&amp;#59;&lt;br /&gt;using Wintellect.PowerCollections&amp;#59;&lt;br /&gt;&lt;br /&gt;namespace TestPowerCollections&lt;br /&gt;&amp;#123;&lt;br /&gt;    class Program&lt;br /&gt;    &amp;#123;&lt;br /&gt;        static readonly MultiDictionary&amp;#60;int, int&amp;#62; list &amp;#61; new MultiDictionary&amp;#60;int, int&amp;#62;&amp;#40;false&amp;#41;&amp;#59;&lt;br /&gt;        static void Main&amp;#40;string&amp;#91;&amp;#93; args&amp;#41;&lt;br /&gt;        &amp;#123;&lt;br /&gt;            for &amp;#40;int i &amp;#61; 0&amp;#59; i &amp;#60; 100000&amp;#59; i&amp;#43;&amp;#43;&amp;#41;&lt;br /&gt;                list.Add&amp;#40;i, i&amp;#41;&amp;#59;&lt;br /&gt;&lt;br /&gt;            ICollection&amp;#60;KeyValuePair&amp;#60;int, ICollection&amp;#60;int&amp;#62;&amp;#62;&amp;#62; removed &amp;#61; list.RemoveAll&amp;#40;delegate&amp;#40;KeyValuePair&amp;#60;int, ICollection&amp;#60;int&amp;#62;&amp;#62; obj&amp;#41;&lt;br /&gt;            &amp;#123;&lt;br /&gt;                return true&amp;#59;&lt;br /&gt;            &amp;#125;&amp;#41;&amp;#59;&lt;br /&gt;&lt;br /&gt;            Console.WriteLine&amp;#40;&amp;#34;Removed&amp;#58; &amp;#34; &amp;#43; removed.Count&amp;#41;&amp;#59;&lt;br /&gt;            Console.WriteLine&amp;#40;&amp;#34;Remaining&amp;#58; &amp;#34; &amp;#43; list.Count&amp;#41;&amp;#59;&lt;br /&gt;&lt;br /&gt;            Console.ReadLine&amp;#40;&amp;#41;&amp;#59;&lt;br /&gt;        &amp;#125;&lt;br /&gt;&lt;br /&gt;    &amp;#125;&lt;br /&gt;&amp;#125;&lt;br /&gt;Comments: ** Comment from web user: nokiola ** &lt;p&gt;   at Wintellect.PowerCollections.Hash&amp;#96;1.CheckEnumerationStamp&amp;#40;Int32 startStamp&amp;#41;&lt;br /&gt;   at Wintellect.PowerCollections.MultiDictionary&amp;#96;2.&amp;#60;EnumerateValues&amp;#62;d__1a.MoveNext&amp;#40;&amp;#41;&lt;br /&gt;   at Wintellect.PowerCollections.MultiDictionaryBase&amp;#96;2.RemoveMany&amp;#40;TKey key, IEnumerable&amp;#96;1 values&amp;#41;&lt;br /&gt;   at Wintellect.PowerCollections.MultiDictionaryBase&amp;#96;2.Remove&amp;#40;KeyValuePair&amp;#96;2 pair&amp;#41;&lt;br /&gt;   at Wintellect.PowerCollections.Algorithms.RemoveWhere&amp;#91;T&amp;#93;&amp;#40;ICollection&amp;#96;1 collection, Predicate&amp;#96;1 predicate&amp;#41;&lt;br /&gt;   at Wintellect.PowerCollections.CollectionBase&amp;#96;1.RemoveAll&amp;#40;Predicate&amp;#96;1 predicate&amp;#41;&lt;br /&gt;   at TestPowerCollections.Program.Main&amp;#40;String&amp;#91;&amp;#93; args&amp;#41; in C&amp;#58;&amp;#92;Users&amp;#92;Robert&amp;#92;Documents&amp;#92;Visual Studio 2008&amp;#92;Projects&amp;#92;TestPowerCollections&amp;#92;TestPowerCollections&amp;#92;Program.cs&amp;#58;line 15&lt;br /&gt;&lt;/p&gt;</description><author>nokiola</author><pubDate>Sat, 01 Dec 2007 19:59:26 GMT</pubDate><guid isPermaLink="false">COMMENTED ISSUE: Bug in MultiDictionary: RemoveAll throws InvalidOperationException: Collection was modified during an enumeration. 20071201075926P</guid></item><item><title>CREATED ISSUE: Bug in MultiDictionary: RemoveAll throws InvalidOperationException: Collection was modified during an enumeration.</title><link>http://www.codeplex.com/PowerCollections/WorkItem/View.aspx?WorkItemId=2566</link><description>The following snippet shows that RemoveAll throws InvalidOperationException&amp;#58; Collection was modified during an enumeration.&lt;br /&gt;&lt;br /&gt;using System&amp;#59;&lt;br /&gt;using System.Collections.Generic&amp;#59;&lt;br /&gt;using Wintellect.PowerCollections&amp;#59;&lt;br /&gt;&lt;br /&gt;namespace TestPowerCollections&lt;br /&gt;&amp;#123;&lt;br /&gt;    class Program&lt;br /&gt;    &amp;#123;&lt;br /&gt;        static readonly MultiDictionary&amp;#60;int, int&amp;#62; list &amp;#61; new MultiDictionary&amp;#60;int, int&amp;#62;&amp;#40;false&amp;#41;&amp;#59;&lt;br /&gt;        static void Main&amp;#40;string&amp;#91;&amp;#93; args&amp;#41;&lt;br /&gt;        &amp;#123;&lt;br /&gt;            for &amp;#40;int i &amp;#61; 0&amp;#59; i &amp;#60; 100000&amp;#59; i&amp;#43;&amp;#43;&amp;#41;&lt;br /&gt;                list.Add&amp;#40;i, i&amp;#41;&amp;#59;&lt;br /&gt;&lt;br /&gt;            ICollection&amp;#60;KeyValuePair&amp;#60;int, ICollection&amp;#60;int&amp;#62;&amp;#62;&amp;#62; removed &amp;#61; list.RemoveAll&amp;#40;delegate&amp;#40;KeyValuePair&amp;#60;int, ICollection&amp;#60;int&amp;#62;&amp;#62; obj&amp;#41;&lt;br /&gt;            &amp;#123;&lt;br /&gt;                return true&amp;#59;&lt;br /&gt;            &amp;#125;&amp;#41;&amp;#59;&lt;br /&gt;&lt;br /&gt;            Console.WriteLine&amp;#40;&amp;#34;Removed&amp;#58; &amp;#34; &amp;#43; removed.Count&amp;#41;&amp;#59;&lt;br /&gt;            Console.WriteLine&amp;#40;&amp;#34;Remaining&amp;#58; &amp;#34; &amp;#43; list.Count&amp;#41;&amp;#59;&lt;br /&gt;&lt;br /&gt;            Console.ReadLine&amp;#40;&amp;#41;&amp;#59;&lt;br /&gt;        &amp;#125;&lt;br /&gt;&lt;br /&gt;    &amp;#125;&lt;br /&gt;&amp;#125;&lt;br /&gt;</description><author>nokiola</author><pubDate>Sat, 01 Dec 2007 19:57:17 GMT</pubDate><guid isPermaLink="false">CREATED ISSUE: Bug in MultiDictionary: RemoveAll throws InvalidOperationException: Collection was modified during an enumeration. 20071201075717P</guid></item><item><title>NEW POST: Using Power Collections in .Net 1.1</title><link>http://www.codeplex.com/PowerCollections/Thread/View.aspx?ThreadId=17915</link><description>&lt;div class="wikidoc"&gt;
Hi,&lt;br /&gt; &lt;br /&gt;I want to use power collections but since the existing applications are using .net framework 1.1,  i cannot use .net framework 2.0&lt;br /&gt;Please suggest some workaround for the same.&lt;br /&gt;AWAITING UR REPLY!!!&lt;br /&gt; &lt;br /&gt;Regards,&lt;br /&gt; &lt;br /&gt;Satish&lt;br /&gt;
&lt;/div&gt;</description><author>satishshindein</author><pubDate>Fri, 16 Nov 2007 06:46:15 GMT</pubDate><guid isPermaLink="false">NEW POST: Using Power Collections in .Net 1.1 20071116064615A</guid></item><item><title>CREATED ISSUE: Still one problem in unit tests</title><link>http://www.codeplex.com/PowerCollections/WorkItem/View.aspx?WorkItemId=1991</link><description>I encountered one left ofter issue with the unit tests, AlgorithmTests.cs, line 4331&amp;#58;&lt;br /&gt;&lt;br /&gt;NUnit.Framework.AssertionException&amp;#58;   String lengths are both 22. Strings differ at index 19.&lt;br /&gt;  Expected&amp;#58; &amp;#34;&amp;#123;hello,8,&amp;#123;1,2,3&amp;#125;,-8,9&amp;#125;&amp;#34;&lt;br /&gt;  But was&amp;#58;  &amp;#34;&amp;#123;hello,8,&amp;#123;1,2,3&amp;#125;,-8.9&amp;#125;&amp;#34;&lt;br /&gt;  ------------------------------&amp;#94;&lt;br /&gt;&lt;br /&gt;I would propose to explicitly use InvariantCulture for such things.&lt;br /&gt;</description><author>kradewald</author><pubDate>Fri, 26 Oct 2007 11:57:28 GMT</pubDate><guid isPermaLink="false">CREATED ISSUE: Still one problem in unit tests 20071026115728A</guid></item><item><title>Patch Uploaded</title><link>http://www.codeplex.com/PowerCollections/SourceControl/PatchList.aspx</link><description>
&lt;p&gt;&lt;a href='/UserAccount/UserProfile.aspx?UserName=LaurentGRATEAU'&gt;LaurentGRATEAU&lt;/a&gt; has uploaded a patch.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Description:&lt;/b&gt;&lt;br /&gt;This file fix the Issue 1704. Test could be added to cover this issue. &lt;/p&gt;</description><author>LaurentGRATEAU</author><pubDate>Fri, 26 Oct 2007 04:59:09 GMT</pubDate><guid isPermaLink="false">Patch Uploaded 20071026045909A</guid></item><item><title>COMMENTED ISSUE: Empty Set&lt;&gt; serialization bug</title><link>http://www.codeplex.com/PowerCollections/WorkItem/View.aspx?WorkItemId=1704</link><description>This sample crashes then the Set is empty.&lt;br /&gt;&lt;br /&gt;new BinaryFormatter&amp;#40;&amp;#41;.Serialize&amp;#40;new MemoryStream&amp;#40;&amp;#41;, new Set&amp;#60;int&amp;#62;&amp;#40;&amp;#41;&amp;#41;&amp;#59;&lt;br /&gt;Comments: ** Comment from web user: lolofresnes ** &lt;p&gt;Replace the attached file to fix this issue. &lt;/p&gt;</description><author>lolofresnes</author><pubDate>Thu, 25 Oct 2007 14:15:55 GMT</pubDate><guid isPermaLink="false">COMMENTED ISSUE: Empty Set&lt;&gt; serialization bug 20071025021555P</guid></item><item><title>CREATED ISSUE: MultiDictionary&lt;TKey, TValue&gt; Serialization issue when empty</title><link>http://www.codeplex.com/PowerCollections/WorkItem/View.aspx?WorkItemId=1749</link><description>The following stacktrace occurs when trying to serialize an empty MultiDictionary&amp;#58;&lt;br /&gt;&lt;br /&gt; at Wintellect.PowerCollections.Hash&amp;#96;1.System.Runtime.Serialization.ISerializable.GetObjectData&amp;#40;SerializationInfo info, StreamingContext context&amp;#41; in E&amp;#58;&amp;#92;PowerCollections-6259&amp;#92;Source&amp;#92;PowerCollections&amp;#92;Hash.cs&amp;#58;line 617&lt;br /&gt;   at System.Runtime.Serialization.Formatters.Binary.WriteObjectInfo.InitSerialize&amp;#40;Object obj, ISurrogateSelector surrogateSelector, StreamingContext context, SerObjectInfoInit serObjectInfoInit, IFormatterConverter converter, ObjectWriter objectWriter&amp;#41;&lt;br /&gt;   at System.Runtime.Serialization.Formatters.Binary.WriteObjectInfo.Serialize&amp;#40;Object obj, ISurrogateSelector surrogateSelector, StreamingContext context, SerObjectInfoInit serObjectInfoInit, IFormatterConverter converter, ObjectWriter objectWriter&amp;#41;&lt;br /&gt;   at System.Runtime.Serialization.Formatters.Binary.ObjectWriter.Write&amp;#40;WriteObjectInfo objectInfo, NameInfo memberNameInfo, NameInfo typeNameInfo&amp;#41;&lt;br /&gt;   at System.Runtime.Serialization.Formatters.Binary.ObjectWriter.Serialize&amp;#40;Object graph, Header&amp;#91;&amp;#93; inHeaders, __BinaryWriter serWriter, Boolean fCheck&amp;#41;&lt;br /&gt;   at System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Serialize&amp;#40;Stream serializationStream, Object graph, Header&amp;#91;&amp;#93; headers, Boolean fCheck&amp;#41;&lt;br /&gt;   at System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Serialize&amp;#40;Stream serializationStream, Object graph&amp;#41;&lt;br /&gt;   at Wintellect.PowerCollections.Tests.InterfaceTests.SerializeRoundTrip&amp;#40;Object objToSerialize&amp;#41; in E&amp;#58;&amp;#92;PowerCollections-6259&amp;#92;Source&amp;#92;UnitTestsVSTS&amp;#92;InterfaceTests.cs&amp;#58;line 1707&lt;br /&gt;   at Wintellect.PowerCollections.Tests.MultiDictionaryTests.SerializeEmpty&amp;#40;&amp;#41; in E&amp;#58;&amp;#92;PowerCollections-6259&amp;#92;Source&amp;#92;UnitTestsVSTS&amp;#92;MultiDictionaryTests.cs&amp;#58;line 1240&lt;br /&gt;&lt;br /&gt;I have reproduced this by using the following TestMethod on MultiDictionaryTests&amp;#58;&lt;br /&gt;        &amp;#91;TestMethod&amp;#93;&lt;br /&gt;        public void SerializeEmpty&amp;#40;&amp;#41;&lt;br /&gt;        &amp;#123;&lt;br /&gt;            MultiDictionary&amp;#60;string,double&amp;#62; d &amp;#61; new MultiDictionary&amp;#60;string,double&amp;#62;&amp;#40;true&amp;#41;&amp;#59;&lt;br /&gt;&lt;br /&gt;            MultiDictionary&amp;#60;string, double&amp;#62; result &amp;#61; &amp;#40;MultiDictionary&amp;#60;string, double&amp;#62;&amp;#41;InterfaceTests.SerializeRoundTrip&amp;#40;d&amp;#41;&amp;#59;&lt;br /&gt;        &amp;#125;&lt;br /&gt;&lt;br /&gt;Seems that &amp;#34;private Hash&amp;#60;KeyAndValues&amp;#62; hash&amp;#59;&amp;#34; isn&amp;#39;t initialized.&lt;br/&gt;</description><author>Bram</author><pubDate>Sun, 07 Oct 2007 22:29:56 GMT</pubDate><guid isPermaLink="false">CREATED ISSUE: MultiDictionary&lt;TKey, TValue&gt; Serialization issue when empty 20071007102956P</guid></item><item><title>CREATED ISSUE: Empty Set&lt;&gt; serialization bug</title><link>http://www.codeplex.com/PowerCollections/WorkItem/View.aspx?WorkItemId=1704</link><description>This sample crashes then the Set is empty.&lt;br /&gt;&lt;br /&gt;new BinaryFormatter&amp;#40;&amp;#41;.Serialize&amp;#40;new MemoryStream&amp;#40;&amp;#41;, new Set&amp;#60;int&amp;#62;&amp;#40;&amp;#41;&amp;#41;&amp;#59;&lt;br/&gt;</description><author>Morty</author><pubDate>Wed, 03 Oct 2007 16:27:53 GMT</pubDate><guid isPermaLink="false">CREATED ISSUE: Empty Set&lt;&gt; serialization bug 20071003042753P</guid></item><item><title>CLOSED ISSUE: Bad help file on site</title><link>http://www.codeplex.com/PowerCollections/WorkItem/View.aspx?WorkItemId=1306</link><description>The help file that is available for download &amp;#40;PowerCollections.chm&amp;#41; is non-functional. It appears that all of the links are wrong and have a machine name user id with them.&lt;br/&gt;Comments: I generated a new help file with Sand Castle and this has fixed the problems. The old file was generated with a version on NDOC that did not work correctly with the 2.0 framework.</description><author>rogerdahlman</author><pubDate>Sun, 09 Sep 2007 03:23:31 GMT</pubDate><guid isPermaLink="false">CLOSED ISSUE: Bad help file on site 20070909032331A</guid></item><item><title>UPDATED RELEASE: Initial Wintellect Codebase (Nov 11, 2005)</title><link>http://www.codeplex.com/PowerCollections/Release/ProjectReleases.aspx?ReleaseId=6863</link><description>This release consists of the source and binaries that were previously available from [url:http://www.wintellect.com]. It is the baseline for future development.</description><author></author><pubDate>Sun, 09 Sep 2007 03:20:23 GMT</pubDate><guid isPermaLink="false">UPDATED RELEASE: Initial Wintellect Codebase (Nov 11, 2005) 20070909032023A</guid></item></channel></rss>