在C#中的變量,我有一些小數變量與值> 0,有些等於0,我從不同的文本框數,這些小數在C#WinForm的。C#,如何算具有值> 0
什麼是統計其中有多少具有值> 0最佳做法?
如果計數> 12,有最低值的變量,應改爲0
在C#中的變量,我有一些小數變量與值> 0,有些等於0,我從不同的文本框數,這些小數在C#WinForm的。C#,如何算具有值> 0
什麼是統計其中有多少具有值> 0最佳做法?
如果計數> 12,有最低值的變量,應改爲0
它不是一個屢獲殊榮的一塊麪向對象的軟件工程,但它應該做的工作:
static void Main(string[] args)
{
var seq = Enumerable.Range(0, 12).Select(i => (decimal)i);
Console.WriteLine(GetGreaterThanZero(seq));
var arr = seq.ToArray();
SetMinNull(arr);
foreach(var n in arr)
Console.WriteLine(n);
}
static int GetGreaterThanZero(IEnumerable<decimal> numbers)
{
return numbers.Count(n => n > 0);
}
static void SetMinNull(decimal[] numbers)
{
decimal min = numbers.Min();
// edit: credits to daniel for this loop
for(int i = 0; i < numbers.Length; i++)
{
if(numbers[i] == min) numbers[i] = 0;
}
}
它使用的集合。不過,我建議你也使用它們。使用大量編號不同的值是一種代碼味道,我猜測它幾乎不太方便。
你不能讓你的'SetMinNull'簡單多了? 'var min = numbers.Min();對於(int i = 0; i
對不起,我是編程新手,我從數字中得到這些小數不同的文本框...我怎樣才能使用陣列。 –
使用「LinkedList
不要使用小數一長列(僅是非零值),請使用它們的排列:
decimal[] values = new decimal[17];
/*Populate the values array with data*/
int CountOfMoreThanZero = values.Count(v => v > 0);
對不起,我是編程新手,我從不同的文本框中得到這些小數...我怎樣才能使用數組。 –
'值[0] = Convert.ToDecimal(Textbox1.Text);' – PhonicUK
把值的數組。這太可怕了。 – Jon
爲什麼不使用適當的數據結構(即數組或列表)? – Adam
」 ......最低2個值= 0" 的兩位小數具有最低值(例如0或1等)或是_first_ 2位小數列表/陣列中? – basti