2017-09-29 79 views
-2

所以我有一個數字列表框,我想從每個列表框中減去一個整數。這裏有一個例子:如何從列表框中的每個數字中減去x

1 
2 
3 
4 
5 

我想要得到的差異

Math.Abs(2 - 1) 
Math.Abs(2 - 2) 
Math.Abs(2 - 3) 
Math.Abs(2 - 4) 
Math.Abs(2 - 5) 

的絕對值,並把它們在列表框中。 我已經試過:

while (i < listBox1.Items.Count) 
{ 
    result -= Convert.ToInt32(listBox1.Items[i++]); 
    int result1 = Convert.ToInt32(result) 
    int sub = Math.abs(result1) 
} 
+2

好。你有什麼嘗試,爲什麼不工作? –

+1

請閱讀[問]並參加[旅遊]。我的猜測是,將涉及一個循環 – Plutonix

+0

'list.Select(n => x-n);'應該這樣做。但至少顯示你試過的東西 –

回答

0

將這工作:

我使用Select(x => {return x;})符號LINQ做數組元素的操作,並返回一個值。在這種情況下,該操作是數組中每個元素的Math.abs和給定的數字。 _absDiffs將是IEnumerable<int>,您可以撥打.ToArray()將它變成int[]

int[] _nums = {1,2,3,4,5}; 
int _number = 2; 

var _absDiffs = _nums.Select(num=> { return Math.abs(_number - num);}); 
+0

是的,但是我已經解析了列表框中的所有數字,是否有方法可以更改_nums到: 'listbox1.Items' 沒關係,我明白了。謝謝! –

+0

你能更清楚地說明你的代碼是什麼意思嗎?一個例子可以幫助保存你的數字的代碼會很好。 –

+0

當你可以使用Select(num => x)'時,爲什麼使用'Select(num => {return x;})'? –

相關問題