I don't know anything about C# or LINQ, but is this what you're looking for?
scala> val l = List(1, 2, 3, 4, 5)
l: List[Int] = List(1, 2, 3, 4, 5)
scala> l.head
res0: Int = 1
scala> l.headOption
res1: Option[Int] = Some(1)
scala> l.map(_.toString)
res2: List[java.lang.String] = List(1, 2, 3, 4, 5)
scala> l(1)
res3: Int = 2
There's no method to get an element or a default, but this will work:
scala> scala.util.control.Exception.allCatch.opt(l(5)) getOrElse 0
res4: Int = 0