Daily Archives: 2012.09.20. 4:00

Napi .NET kvíz

Mit ír ki:

using System;
using System.Collections.Generic;

public class Program
{
  static void Main()
  {
    var funcs = new List<Func<string>>();
    var urls = new List<Uri>
    {
      new Uri( "http://google.com" ), 
      new Uri( "http://bing.com" )
    };

    foreach( var u in urls )
    {
      funcs.Add( () => u.ToString() );
    }

    foreach( var f in funcs )
    {
      Console.WriteLine( f() );
    }
  }
}

Kis segítség a ReSharpertől:

resharper-warning

Ahogy a figyelmeztetés mondja, ez a kód bizony másként viselkedik C# 4.0 és C# 5.0 fordítóval! Valójában ez az egyetlen breaking change C# 5-ben.

Bár a probléma nem új (Eric Lippert már 3 éve írt róla), a fenti kódrészletet nem én találtam ki. Martin Doms blogjából kölcsönöztem, aki napi kvíz sorozatot indított .NET témában és ez az egyik feladvány (#006). A sorozat már harmadik hete tart és Martinnak sikerül igen jó kérdéseket összeszedni, amiket akár egy haladóbb .NET állásinterjú kérdéssorban is el tudnék képzelni.

A sorozat epizódjai legegyszerűbben talán a http://blog.martindoms.com/tag/quiz/ oldalon keresztül érhetők el.

Nektek melyik tetszik legjobban?

 

Technorati-címkék: ,
Advertisements