2012-12-21 50 views
1
int[] numbers = { 5, 4, 1, 3, 9, 8, 6, 7, 2, 0 }; 
string[] strings = { "zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine" }; 

var textNums = 
    from n in numbers 
    select strings[n]; 

Console.WriteLine("Number strings:"); 
foreach (var s in textNums) 
{ 
    Console.WriteLine(s); 
} 

如何編寫使用Lambda表達式相同的代碼....如何使用Lambda表達式來寫相同的代碼

+1

我要問:爲什麼* *你想將其移動到一個lambda表達式?目前的代碼非常清晰和高效。強制拉姆達是... odd –

回答

2

我假設你的意思是「從」語句來只?:

var textNs = numbers.Select(i => strings[i]); 
+1

我認爲你的意思是'n => strings [n]'。 – hvd

+0

當然可以。固定,謝謝... – Kjartan

+0

@ hvd'我'和'n'之間有什麼區別? – Likurg

3
numbers.ToList().ForEach(item => Console.WriteLine(strings[item])); 
+1

嗯......那不是真的在做*相當*同樣的事情...... –

+0

我們不能這樣寫:var xyz = numbers .ToList()。ForEach(item =>(strings [item])); – Pearl

0
var result = numbers.Select(n => strings[n]); 
+0

這裏n表示什麼?我認爲這只是一個用戶定義的變量....我很困惑.... – Pearl