? , .
, . , , . .
, , , , , Linq .
... , , , , , , .
: , .
var lines = File.ReadAllLines(fileName);
, lines , IEnumerable, Linq . , , :
var nonBlankLines = lines.Where(line => line.Trim() == string.Empty);
, ( - !):
var quoted = lines.Where(line => line.Trim() == string.Empty)
.Select(line => "\"" + line + "\"");
( , .)
- , :
var quoted = File.ReadAllLines(fileName)
.Where(line => line.Trim() == string.Empty)
.Select(line => "\"" + line + "\"");
, , , , Join, , :
var quoted = string.Join(", ",
File.ReadAllLines(fileName)
.Where(line => line.Trim() == string.Empty)
.Select(line => "\"" + line + "\"")
.ToArray());
Linqy:
var quoted = File.ReadAllLines(fileName)
.Where(line => line.Trim() == string.Empty)
.Select(line => "\"" + line + "\"")
.Aggregate((a, b) => a + ", " + b);
, , ( , ). , , - Aggregate, Util.Generate:
IEnumerable<T> Generate<T>(T item, Func<T, T> generator)
{
for (; item != null; item = generator(item))
yield return item;
}
, , . Exception.InnerException, , - . , x:
MessageBox.Show(Util.Generate(x, i => i.InnerException).Last().Message);
Generate IEnumerable, Linq . , , .
, , , , , , , , .