我的问题是,我现在需要通过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
}
那么有问题的解决方案吗?我对编程很陌生。 我的问题是我不需要其他声明,我需要知道值1或2或3是否通过。究竟是哪些小于4.编辑:修正了一些错误,匆忙,忘了把标志放在另一边。当它们小于4时,我现在需要通过哪些值。生病的重新发布。当我搞砸了。我现在真的不在乎哪些更大,或者说其他声明,我跳过那一部分。 编辑2:我也提出了一个解决方案,但如果它的好,我就不会。当我在if语句中存储值时,我应该运行一个循环,制作另一个if语句,以比较if语句中的那些是否在外部相同,然后知道传递了哪些值?
答案 0 :(得分: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
}
答案 1 :(得分:1)
如果使用for而不是foreach,因为你有数组成员的索引,你就会知道哪个通过了
int[] array = {value1, value2, value3}
for (int index = 0; index < array.Count(); index++)
{
if (array[index] < 4)
{
// do sth with index
}
}
答案 2 :(得分: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
}
答案 3 :(得分: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小于4,则将其添加到结果中。然后我使用下面的foreach打印出结果。
答案 4 :(得分: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;
}
}