-2

我的问题是,我现在需要通过 If 语句传递哪些语句。代码如下。

int[] Array = {value1,value2,value3}
foreach {int Value in Array)
{
if (Value < 4)
{
    // Here i need to know what values passed through that were less that 4, like    
    // which one, value 1, value 2, and/or value 3
}

那么有没有解决问题的办法呢?我对编程有点陌生。我的问题是我不需要 else 语句,我需要知道值 1 或 2 或 3 是否通过。确切地说,哪些小于 4。 编辑:修复了一些错误,很着急,忘了把标志放在另一个地方。当它们小于 4 时,我现在需要通过哪些值。生病可能会重新发布。正如我搞砸了。我现在真的不在乎哪个更大,或者 else 语句,我跳过了那部分。Edit2:我也想出了一个解决方案,但如果它很好,我不知道。当我将值存储在 if 语句中时,我是否应该运行一个循环,创建另一个 if 语句,以比较 if 语句中的那些在外部是否相同,然后知道哪些值通过了?

4

5 回答 5

2

如果我理解这个问题,我不是 100% 肯定,但您似乎可以使用该else声明

if (Value > 4)
{
 // Do your stuff for elements greater than 4
}
else
{
 // Do your stuff for elements greater lower or equal than 4
}
于 2013-06-29T01:27:37.173 回答
1

用for代替foreach怎么样,既然你得到了数组成员的索引,你就会知道哪个通过了

int[] array = {value1, value2, value3}
for (int index = 0; index < array.Count(); index++)
{
    if (array[index] < 4)
    {
        // do sth with index
    }
}
于 2013-06-29T02:23:46.010 回答
0

我认为您的问题结构不佳,但听起来您正在寻找开关盒。

if (x < 4) {
   switch (x) {

       case 1: 
           Console.WriteLine("Case 1");
           break;

       case 2:
           Console.WriteLine("Case 2");
           break;

       case 3:
           Console.WriteLine("Case 3");
           break;

       default:
           Console.WriteLine("Default case");
           break;
    }
}
于 2013-06-29T02:51:15.960 回答
0
int Array[] = {value1,value2,value3}
foreach {int Value in Array)
{
if (Value > 4)
{
    // Here i need to know what elements passed through that were less that 4
}else if(Value < 4){
  //values < 4 will execute this code
}
于 2013-06-29T01:27:58.353 回答
0

我将提出一些一般性建议,希望对您有所帮助。首先,您的条件表示if (Value > 4),因此您不会进入您建议找出哪些元素小于 4 的代码块。相反,您需要一个else. 所以这是一种方法;

int Array[] = {value1,value2,value3}
List<int> lessThanFour = new List<int>();
foreach {int Value in Array)
{
    if (Value < 4)
    {
        lessThanFour.Add(Value);
        Console.WriteLine(Value);
    }
}

上面的代码将每个小于 4 的值放入一个列表中,以便您以后访问它们。它还将它们打印到控制台。

另一种选择是使用 LINQ;

var lessThanFour = Array.Where(x => x < 4);
foreach (int c in lessThanFor)
    Console.WriteLine(c);

上面的代码使用Where运算符创建一个新数组,其中包含原始中所有值小于 for 的整数。x => x < 4最好在迭代中考虑该语句,因为x当前元素在哪里。它的工作原理与 foreach 循环相同。当您执行该代码时,它基本上说,对于 Array 中的每个 int x,如果 x 小于四,则将其添加到结果中。然后我使用下面的 foreach 来打印结果。

于 2013-06-29T01:28:14.673 回答