A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© sym544135698 中级黑马   /  2013-6-29 21:25  /  1319 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 sym544135698 于 2013-6-29 21:42 编辑
  1. string[] name = new string[] { "梅西", "卡卡", "郑大世" };
  2.             string str = "";
  3.             for (int i = 0; i < name.Length; i++)
  4.             {
  5.                 if (i == name.Length - 1)
  6.                 {
  7.                     str = str + name[i];
  8.                 }
  9.                 else
  10.                 {
  11.                     str = str + name[i] + "|";
  12.                 }
  13.             }
  14.             Console.WriteLine(str);
复制代码
这段代码在for循环的if{}里面,为什么这样写输出梅西|卡卡|郑大世,会有"|",表示有些不明白,else{}的话知道,求解

评分

参与人数 1技术分 +1 收起 理由
苏波 + 1

查看全部评分

2 个回复

倒序浏览
哦,原来我把if与else看的完全分离了,这里要当作一个整体来看,是在一个整体的大循环中,不是最后一个的话就要加上“|”,是最后一个的话就不要继续加。汗,感情之前都没有完全看懂,只是看分叉了。
回复 使用道具 举报
本帖最后由 崔松鹤 于 2013-6-29 22:16 编辑

string[] name = new string[] { "梅西", "卡卡", "郑大世" };
            string str = "";
            for (int i = 0; i < name.Length; i++)
            {
                if (i == name.Length - 1)   //如果i 等于数组长度-1,也就是i=2,才执行下面的语句
                {
                    str = str + name;   //当i=2时,str="梅西|卡卡|";这时在后面再加个name[2],郑大世
                }
                else
                {
                    str = str + name + "|";
                }
            }
            Console.WriteLine(str);

评分

参与人数 1技术分 +1 收起 理由
苏波 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马