黑马程序员技术交流社区

标题: 关于向屏幕输出一句话 [打印本页]

作者: 郭正续    时间: 2012-7-30 17:10
标题: 关于向屏幕输出一句话
在winform入门视频中,在文本框里输入一个名字Tom,然后显示“Tom你好”。老师用的是
   string.Format("{0}你好",name);
这句话是什么意思?我用console.WriteLine();不行吗?
求解释。。
作者: 肖攀    时间: 2012-7-30 17:37
你的这句话“ string.Format("{0}你好",name);”根本就不能输出,就是用console.WriteLine();,我在视频上看的都是用console。writeline()输出,没见用你那种方式输出的
作者: 张腾达    时间: 2012-7-30 17:42
本帖最后由 张腾达 于 2012-7-30 17:48 编辑
laluckystar 发表于 2012-7-30 17:37
你的这句话“ string.Format("{0}你好",name);”根本就不能输出,就是用console.WriteLine();,我在视频上 ...

哥们,他这是没把代码发完整,这句是在格式化字符串,把变量name的值代入到{0}的位置。后边还有输出代码。在button的Click事件里写的
  1. this.Text=string.Format("{0}",name);
复制代码
点击后窗体标题会变成谁谁你好。

另外 既然到了winform的阶段,建议不要用Console.WirteLine()了,在Windows窗体应用程序中,如果用Console.WirteLine()来测试啊,调错什么的,需要Ctrl+W,Ctrl+O把输出视图打开,或者点视图→输出,而且不直观。

不如MessageBox.Show()来的方便
作者: 陈汉维    时间: 2012-7-30 17:44
本帖最后由 陈汉维 于 2012-7-30 17:56 编辑

苏坤的视频里面就说Console.WriteLine底层就是调用string.Format来实现单元格替换啊。
可是 动手编译下发现竟然真的不能用。

Console.WriteLine只在控制台中看到过,其他地方貌似没见到过。楼主自己动手试下就知道了。
作者: 蔡尚猛    时间: 2012-7-30 17:44
Console.WriteLine("");是向控制台应用程序打印数据的,
老师当时用的MessageBox.Show("");弹出对话框的,
使用string.Format("{0}你好",name);只是为了实现使用占位符效果,
作者: 张腾达    时间: 2012-7-30 18:09
陈汉维 发表于 2012-7-30 17:44
苏坤的视频里面就说Console.WriteLine底层就是调用string.Format来实现单元格替换啊。
可是 动手编译下发现 ...

  1. Console.WriteLine("{0}",name);
复制代码
这样写是可以用的

不过它没有返回值,你把它当作string赋值给Text属性,当然会报错。
不用占位符的话可以直接字符串拼接
  1. this.Text=name+"你好";
复制代码

作者: 陈汉维    时间: 2012-7-30 18:26
张腾达 发表于 2012-7-30 18:09
这样写是可以用的

不过它没有返回值,你把它当作string赋值给Text属性,当然会报错。

谢谢纠错。那如果想在窗体上输出,用Console.WriteLine就不行了啊。大部分都是用字符串拼接的啊,不是吗?
有没有Console.WriteLine在窗体上输出的例子。
作者: 张腾达    时间: 2012-7-30 18:32
本帖最后由 张腾达 于 2012-7-30 18:34 编辑
陈汉维 发表于 2012-7-30 18:26
谢谢纠错。那如果想在窗体上输出,用Console.WriteLine就不行了啊。大部分都是用字符串拼接的啊,不是吗 ...

C#真不会。不过几年前心气高,各种语言各种学,,,,忘了是VB6.0还是易语言了,隐约记得可以直接在窗体输出。。好多年了,:L岁月这把杀那啥的刀,··把我干掉了
作者: 王峰    时间: 2012-7-30 19:50
把它当作string赋值给Text属性,当然会报错。用string.Format("{0}你好",name);只是为了实现使用占位符效果,
作者: 李宏利    时间: 2012-7-30 20:43
consolel.writeline 输出语句
string.Format("{0}你好",name);   {0} 占位符,即为:name。

作者: ARMdong    时间: 2012-7-31 12:26
在WinForm编程中,好像不能用Console.WriteLine()这种形式,因为WinForm编程时没有引用Console这个类,所以最好用string.Format()这种方式




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2