为了账号安全,请及时绑定邮箱和手机立即绑定

如何将 if else 语句放入循环中

如何将 if else 语句放入循环中

C#
米脂 2021-11-28 19:28:30
这是我的代码。到目前为止,这是有效的,但我需要它处于循环中,所以我不会一直重复该if else语句。static void Main(string[] args)        {            int i, j, k, l, m, n;            int result;            string [] array = { "abcw", "baz", "foo", "bar", "xtfn", "abcdef" };            i = array[0].Length;            j = array[1].Length;            k = array[2].Length;             l = array[3].Length;            m = array[4].Length;            n = array[5].Length;            result = i * j;            if (result == 16)             {                Console.WriteLine(result);            }            else            {                result = i * k;            }            if (result == 16)            {                Console.WriteLine(result);            }            else            {                result = i * l;            }            if (result == 16)            {                Console.WriteLine(result);            }            else            {                result = i * m;            }            if (result == 16)            {                Console.WriteLine(array[0]+" * "+array[4]+" = "+result);            }            else            {                result = i * n;            }
查看完整描述

3 回答

?
智慧大石

TA贡献1946条经验 获得超3个赞

如果您创建一个循环遍历所有条目的外循环,然后创建一个循环遍历您在外循环中查看的条目之后的条目的内循环,您可以执行以下操作


      string[] array = {"abcw", "baz", "foo", "bar", "xtfn", "abcdef"};

      for (var i = 0; i < array.Length; i++)

      {

          for (var j = i + 1; j < array.Length; j++)

          {

              if (array[i].Length * array[j].Length == 16)

              {

                  Console.WriteLine($"{array[i]} {array[j]}");

              }

          }

      }

然后你得到的结果是 abcw xtfn


查看完整回答
反对 回复 2021-11-28
?
手掌心

TA贡献1942条经验 获得超3个赞

缩短代码的可能方法之一。


您可以迭代您的数组并将第一项与您在问题代码块中提到的其余项进行比较。无需访问单个数组元素。


将第一个元素与其余元素进行比较


static void Main(string[] args)

{

    int result;

    string[] array = { "abcw", "baz", "foo", "bar", "xtfn", "abcdef" };


    for (int i = 0; i < array.Length - 2; i++)

    {

        result = array[0].Length * array[i + 1].Length;


        if (result == 16)

        {

            Console.WriteLine(array[0] + " * " + array[i+1] + " = " + result);

            break;

        }

    }


    Console.ReadLine();

}

比较中间的所有元素


for (var i = 0; i < array.Length; i++)

    for (var j = i + 1; j < array.Length; j++)

        if (array[i].Length * array[j].Length == 16)

            Console.WriteLine(array[i] + " * " + array[j] + " = " + array[i].Length * array[j].Length);



查看完整回答
反对 回复 2021-11-28
?
素胚勾勒不出你

TA贡献1827条经验 获得超9个赞

string[] array = { "abcw", "baz", "foo", "bar", "xtfn", "abcdef" };

        int result = 16;

        for (var i = 0; i < array.Length; i++) {

            int x = array[i].Length;

            if (result % x != 0) {

                continue;

            }

            for (var j = i + 1; j < array.Length; j++) {

                if (x * array[j].Length == result) {

                    Console.WriteLine(array[i] + "*" + array[j] + "= " + result);

                }

            }

        }


查看完整回答
反对 回复 2021-11-28
  • 3 回答
  • 0 关注
  • 214 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信