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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 马文浩 中级黑马   /  2013-4-3 18:13  /  3412 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

            string name = "张三";
            int age = 28;
            decimal salary = 7600.33m;
            Console.WriteLine("我的名字叫{0},我今年{1}了,我的工资是{2}元",name,age,salary);
            Console.ReadKey();
请大神们就上面这段代码谈谈对下面这段话的理解
“ Console.WriteLine();有多个参数时,输出都是第一个参数中的内容,从第二个参数开始都是用来替换第一个参数中占位符的值,所以从第二个参数开始,要不要输出,就要看第一个参数中有没有相关的占位符”

我正在看苏坤老师的基础视频,笔记我都一字不落的记下来了,但是有些内容我还是百思不得其解,特向各位大神请教。
不胜感激。

评分

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

查看全部评分

5 个回复

倒序浏览
Console.WriteLine("...{0}...{1}...{n}",参数1,参数2,参数(n+1));
Console.WriteLine(string format,params object[] objs);这个方法在内部调用了string.Format()方法,参数format和 object数组作为string.Format()的参数
而string.Format()对传进去的参数处理以后返回一个字符串供Console.WriteLine()使用。


希望对你有所帮助。

评分

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

查看全部评分

回复 使用道具 举报
曾玉锋 发表于 2013-4-3 19:06
Console.WriteLine("...{0}...{1}...{n}",参数1,参数2,参数(n+1));
Console.WriteLine(string format,par ...

太专业了,看不懂。。。。不过还是很感谢你。
我把视频里那一段反反复复的看,感觉还是模糊的很。
打算等到了传智播客基础班后亲自问老师。
回复 使用道具 举报
拿下面这句代码说吧:
Console.WriteLine("我的名字叫{0},我今年{1}了,我的工资是{2}元",name,age,salary);

分以下四步理解:
1、第一个参数中,有{0}、{1}、{2},这是告诉编译器有三个占位符
2、编译器从第二个参数开始,找这三个占位符的内容
3、从第二个参数开始算占位符的内容,name对应{0},age对应{1},salary对应{2}
4、分别将实际内容替换掉占位符

评分

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

查看全部评分

回复 使用道具 举报
DWC_5101 发表于 2013-4-3 21:20
拿下面这句代码说吧:
Console.WriteLine("我的名字叫{0},我今年{1}了,我的工资是{2}元",name,age,salary); ...

明白了,谢谢啦。
回复 使用道具 举报
  Console.WriteLine("{0},{1},{2}",代替{0},代替{1},代替{2}); 这不是很好理解吗?
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马