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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 李帅 中级黑马   /  2012-8-2 09:33  /  1674 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 李帅 于 2012-8-2 09:30 编辑

前几天写基础测试时 一个九九乘法表  我刚开始一直用 console.writeline()  无法实现总是换行。

后来百度一下用  console.writel() 便可解决。
static void Main(string[] args)
        {
            //用两个for循环实现九九乘法表
            for (int i = 1; i <= 9; i++)
            {
                for (int j = 1; j <= i; j++)
                {
                    int sum;
                    sum = j * i;
                    Console.Write("{0}*{1}={2}",j,i,sum);
                }
                 Console.WriteLine();
            }
            Console.ReadKey();
        }


但是我仔细一下用console.writeline() 还是能解决。

static void Main(string[] args)
        {

            for (int i = 1; i <= 9; i++)
            {
                string s = "";
                for (int j = 1; j <= i; j++)
                {
                    int sum;
                    sum = j * i;
                    s += j.ToString() + "*" + i.ToString() + "=" + sum.ToString() + " ";   //同一被乘数同行显示
                }
                s += "\n";   //实现换行显示

                Console.WriteLine(s);
            }
            Console.ReadKey();
        }



请问哪种方法执行效率更高?


评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

2 个回复

倒序浏览
  s += j.ToString() + "*" + i.ToString() + "=" + sum.ToString() + " ";   //该行明显没有      Console.Write("{0}*{1}={2}",j,i,sum);  执行效率高,主要原因是前面语句还要对三个整型变量j, i和sum进行字符串转换。

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
许庭洲 发表于 2012-8-2 09:54
s += j.ToString() + "*" + i.ToString() + "=" + sum.ToString() + " ";   //该行明显没有      Console ...

当局者迷,  我没注意到这个问题。   

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