Michells Mesterværk

Vinderen af julekalenderens låge 1

by Administrator 4. December 2009 10:12

TIl låge nr. 1 var der 4 rigtig gode svar. Jeg har inkluderet dem alle i denne zip fil som i kan downloade.

Vinderen, Morten Gejl, vinder fordi hans løsning var den mest korrekte udfra den pågældende opgave, samt indeholdt den pæneste kode.

public static IEnumerable<T> GroupByMultiple<T>(this IEnumerable<T> list, params Func<T, object>[] properties)
{
if (list == null)
{
throw new ArgumentNullException("list", "list is null");

}
if (properties == null)
{
throw new ArgumentNullException("Props", "Properties set is null");
}

if (properties.Length > 1)
{
Func<T, object>[] remaining = properties.Skip(1).ToArray();
return list.GroupByMultiple(remaining).GroupBy(properties[0]).SelectMany(r => r).OrderBy(properties[0]);
}

return list.GroupBy(properties[0]).SelectMany(r => r);
}

Tilykke Morten. Der er et programmeringskit på vej til dig :)

Tak til resten af deltagerne.

Tags:

Comments

12/4/2009 11:58:28 AM #

HakonB

Opgaven var måske ikke den mest klare formulerede, men der sker vel ikke en gruppering i normale LINQ termer i ovenstående kode?

Som jeg læser koden sker der blot en sortering efter de kolonner, der er specificeret. Hvordan kan f.eks. se hvor mange, der er i hver gruppe?

Konstruktionen 'GroupBy(properties[0]).SelectMany(r => r)' laver først en LINQ groupering og fjerner den dernæst igen, hvilket effektivt blot giver en sortering efter den property. Det betyder i øvrigt at den konstruktion kan fjernes og det vil give samme resultat...

HakonB Denmark

12/6/2009 9:17:23 AM #

Rune Juhl-Petersen

Du har sørme ret. Methoden er en rekursiv sortering.
Hvis man vil sortere og tage hensyn til den nuværende sortering skal man være opmærksom på hvorledes OrderBy er implementeret. Specifikationen af OrderBy siger ikke at OrderBy skal være stable (elementer der har samme sorteringsværdi bevarer deres indbyrdes sortering fra inputtet). MSDN siger dog at sådan er den implementeret i MS's version af .net. Monos version er ikke stable.
Så opgaven er ikke korrekt løst hvis det skal virker på .net, men vil virke på MS's .net framework Smile

Rune Juhl-Petersen Denmark

2/14/2010 1:41:29 PM #

اخبار

Thank you very much for the possibility to have a look into the office. Nice boy, he has got the talent to explain.

اخبار Egypt

2/28/2010 3:18:15 AM #

stock market

I was wondering if you would like to be a guest poster on my website? In exchange you could put a link your post? Please reply when you get a chance and I will send you my contact details - thanks.

stock market United States

2/28/2010 11:32:45 AM #

stock market

Please let me know if you are looking for a writer for your blog. You have some good articles and I think I would be a good asset.

stock market United States

3/4/2010 6:22:29 AM #

hd movies

I enjoy streaming movies online, it is way cheaper than going to the theaters.

hd movies United States

3/5/2010 3:40:45 AM #

Melynda Matlack

Well said! - I looked up the Wiki on this and it did not have as good info - cheers!

Melynda Matlack United States

3/9/2010 8:43:49 PM #

WoW Mobile

Do you know which mobile phone services allow tethering?

WoW Mobile United States

3/12/2010 12:11:13 AM #

Hydrocodone Watson 540

Well done! - I looked up the Wiki on this and it did not have as good info - thanks!

Hydrocodone Watson 540 United States

3/17/2010 2:04:29 AM #

ssk sorgulama

This is a really good read for me, Must admit that you are one of the best bloggers I ever saw.Thanks for posting this informative article.

ssk sorgulama United States

3/17/2010 11:46:08 AM #

arac sorgulama

I admire the valuable information you offer in your articles. I will bookmark your blog and have my children check up here often. I am quite sure they will learn lots of new stuff here than anybody else!

arac sorgulama United States

3/20/2010 3:25:33 PM #

ehliyet

Excellent post.I want to thank you for this informative read, I really appreciate sharing this great post. Keep up your work.

ehliyet Denmark

4/3/2010 11:02:51 PM #

download free card games

I'm seriously cheerful to find this page. I would like to say thanks for this excellent reading. If you can add Stumbleupon button to your internet site, it will help you to reach far more persons on the web. Kind regards

download free card games United States

4/6/2010 7:37:33 AM #

sonic the hedgehog music

Great website, thanks for the information.

sonic the hedgehog music United States

4/7/2010 5:26:12 AM #

puzzles

Just to let you know, Im using the latest chrome browser and some of your text is running off of the page.

puzzles United States

Add comment


(Will show your Gravatar icon)

(De 3 specielle karaktere i det danske alfabet?)
  Country flag

biuquote
  • Comment
  • Preview
Loading



Powered by BlogEngine.NET 1.6.0.0
Theme by Mads Kristensen