score:0

var smiths = new list<persons>();
// get all smiths and print them
foreach(var item in newlist)
{
    if(item.last == "smith")
        smiths.add(item);
}

foreach(var item in smiths)
{
    console.writeline(item);
}

score:2

newlist.sort(new lastnamecomparer());

class lastnamecomparer: icomparer<employee>
{
   public int compare(employee e1, employee e2)
   {
       // your comparison logic here that compares two employees
       return string.compare(e1.last, e2.last);
   }
}

score:2

list<employee> newlist = new list<employee> 
{
    new employee {first = john, last = smith, age = 30},
    new employee {first = jane, last = smith, age = 28},
    new employee {first = greg, last = lane, age = 24},
}

// original code:                 // pre-linq translation:
var last                          // becomes: var last = new list<employee>();
from name in newlist              // becomes: foreach (var name in newlist) {
where name.last.equals("smith")   // becomes: if (name.last.equals("smith") {
select name                       // becomes: last.add(name) } }

// pre-linq code:
var last = new list<employee>();
foreach (var name in newlist) 
{
    if (name.last.equals("smith") 
    {
        last.add(name) 
    } 
}

Related Query

More Query from same tag