我目前正在使用兩個不同的函數來遍歷數字列表以查找總和和特定值的程序。這裏是我已經實現單獨的功能沒有重複的代碼
class Program
{
static int i, sum;
static List<int> store = new List<int>();
static void Main(string[] args)
{
for (i = 0; i < 100; i++)
{
store.Add(i);
}
i = 0;
TraverseList();
Console.ReadLine();
}
static void TraverseList()
{
while (i < store.Count)
{
FindValue();
FindSum();
i++;
}
Console.WriteLine("The sum is {0}", sum);
}
static void FindValue()
{
if (store[i] == 40)
{
Console.WriteLine("Value is 40");
}
}
static void FindSum()
{
sum = sum + store[i];
}
}
我想FindSum和FindValue分成兩個不同的功能,而不是叫他們TraverseList的代碼。有沒有做這件事,而在重複這兩個函數列表遍歷的通用代碼,因爲我在這裏做
class Program
{
static int i, sum;
static List<int> store = new List<int>();
static void Main(string[] args)
{
for (i = 0; i < 100; i++)
{
store.Add(i);
}
i = 0;
FindValue();
i = 0;
FindSum();
Console.ReadLine();
}
static void FindValue()
{
while (i < store.Count)
{
if (store[i] == 40)
{
Console.WriteLine("Value is 40");
}
i++;
}
}
static void FindSum()
{
while (i < store.Count)
{
sum = sum + store[i];
i++;
}
Console.WriteLine("The sum is {0}", sum);
}
}
爲什麼不使用Linq? –
這段代碼非常糟糕,最明顯的冒犯之處在於你的方法FindValue和FindSum無緣無故地使用隱藏參數('store'和'i')。絕對沒有必要這樣做。拋棄此代碼並重新開始。 – Jon
@jon我是一名初學者,我一直在努力讓事情發揮作用,我甚至不知道隱藏的參數是什麼。我肯定會對此做一些研究。 – Pete