ten kod:Jak zdefiniować zmienne w LINQ?
string[] files = {"test.txt",
"test2.txt",
"notes.txt",
"notes.doc",
"data.xml",
"test.xml",
"test.html",
"notes.txt",
"test.as"};
files.ToList().ForEach(f => Console.WriteLine(
f.Substring(
f.IndexOf('.') + 1,
f.Length - f.IndexOf('.') - 1
)
));
produkuje tę listę:
txt
txt
txt
doc
xml
xml
html
txt
as
Czy istnieje jakiś sposób, aby f.IndexOf('.')
zmienny tak aby w bardziej złożonych zapytań LINQ Mam to zdefiniowane w jedno miejsce?
Jak mówi Greg Beech, to nie jest LINQ. Przykładowy kod używa funkcji Lambda. Mają pewne nakładanie się funkcji, ale nie są to te same rzeczy. –
I, w tym konkretnym przykładzie, można użyć przeciążenia podłańcucha, które akceptuje tylko indeks startowy podła (http://msdn.microsoft.com/en-us/library/hxthx5h6%28VS.80%29.aspx) i zwraca reszta struny. – Groo