黑马程序员技术交流社区

标题: 很简单的问题 [打印本页]

作者: samuelziul    时间: 2013-6-18 12:10
标题: 很简单的问题
本帖最后由 samuelziul 于 2013-6-18 15:19 编辑

零基础学习了2天,自己跟着视频乱写了一下, 下面定义了lsAge = 28, zsAge = 27, ssAge = 26 的年龄,想分别显示出数字出来,为甚会出错,不行? 怎么改正过来,求帮助,谢谢!

        static void Main(string[] args)
        {
            int lsAge = 28, zsAge = 27, ssAge = 26;
            Console.WriteLine(lsAge,zsAge,ssAge);
            Console.ReadKey();
        }
    }
}
作者: ﹏Lifeヽ    时间: 2013-6-18 12:35
int lsAge = 28, zsAge = 27, ssAge = 26;
            //Console.WriteLine(lsAge.ToString() + "\n" + zsAge.ToString() + "\n" + ssAge.ToString());
          你直接在Console.WriteLine()中打印室不行的你的所打印的变量一定要ToString()
下面是我写的 使用占位符 比较简洁一点  希望对你有帮助!

            Console.WriteLine("lsAge={0},zsAge={1},ssAge={2}",lsAge,zsAge,ssAge);

            Console.ReadKey();

作者: ﹏Lifeヽ    时间: 2013-6-18 12:37
运行结果






55.png (1.36 KB, 下载次数: 1)

55.png

作者: samuelziul    时间: 2013-6-18 12:39
本帖最后由 samuelziul 于 2013-6-18 12:45 编辑
﹏Lifeヽ 发表于 2013-6-18 12:35
int lsAge = 28, zsAge = 27, ssAge = 26;
            //Console.WriteLine(lsAge.ToString() + "\n" + zs ...

谢谢你的解答,但问题是,譬如:
//string nem = "李四", xbie="男",dh="15167568769";
//int anl = 45;
//Console.WriteLine("姓名:"+nem+",性别:"+xbie+",年龄:"+anl+",电话"+dh);
//Console.ReadKey();

这里也有整数 int anl=45 , 为什么它可以直接就显示出来呢?是不是说如果多个int , 是要用占位符的。
作者: lilong9298    时间: 2013-6-18 12:40
Console.WriteLine("{0},{1},{2}",lsAge, zsAge, ssAge);
作者: ﹏Lifeヽ    时间: 2013-6-18 12:46
samuelziul 发表于 2013-6-18 12:39
谢谢你的解答,但问题是,譬如:
//string nem = "李四", xbie="男",dh="15167568769";
//int anl = 45;

呵呵,  使用 + 号也行啊  如果没有 + 号 你要tostring()一下    + 号起到的是连接的作用  你那 “” 双引号里面是字符串,所以起到的是连接字符串的作用!   兄弟加油哦~  
作者: ﹏Lifeヽ    时间: 2013-6-18 12:49
samuelziul 发表于 2013-6-18 12:39
谢谢你的解答,但问题是,譬如:
//string nem = "李四", xbie="男",dh="15167568769";
//int anl = 45;

并不是多个int要用占位符,一个int也能用  所以 只要你想用 就能用
作者: samuelziul    时间: 2013-6-18 12:54
本帖最后由 samuelziul 于 2013-6-18 13:15 编辑
﹏Lifeヽ 发表于 2013-6-18 12:46
呵呵,  使用 + 号也行啊  如果没有 + 号 你要tostring()一下    + 号起到的是连接的作用  你那 “” 双 ...

有点笨,不太明白,好想楼上那兄弟,他写了:Console.WriteLine("{0},{1},{2}",lsAge, zsAge, ssAge);
我自己试试着:
int anl = 45; eee = 18; sss = 19;
Console.WriteLine("{0},{1},{2}",anl, eee, sss);
Console.ReadKey();
但又直接出错了.

这个输出多个int的整数变量,出错了,错误显示eee和sss分别不在文本当中,只能输出个45 ,究竟要怎么弄才行?为什么用你们的代码粘上去可以运行,我自己重写一遍的就出错呢?求解!
作者: 陈壹    时间: 2013-6-18 13:44
samuelziul 发表于 2013-6-18 12:39
谢谢你的解答,但问题是,譬如:
//string nem = "李四", xbie="男",dh="15167568769";
//int anl = 45;

Console.WriteLine("姓名:"+nem+",性别:"+xbie+",年龄:"+anl+",电话"+dh);
+号有两种应用,①作为运算符,计算值类型的变量 ②作为两个字符之间的连接符
当表达式中有string型字符串是“+”的默认作用为连接符,而此时int等类型会自动转换成字符串类型
作者: changweihua    时间: 2013-6-18 13:48
nt anl = 45; eee = 18; sss = 19;同时定义多个变量,用逗号而不是分号
作者: changweihua    时间: 2013-6-18 13:48
samuelziul 发表于 2013-6-18 12:54
有点笨,不太明白,好想楼上那兄弟,他写了:Console.WriteLine("{0},{1},{2}",lsAge, zsAge, ssAge);
我自 ...


nt anl = 45; eee = 18; sss = 19;同时定义多个变量,用逗号而不是分号
作者: 吴承烨    时间: 2013-6-18 13:56
//第一个问题 回答
static void Main(string[] args)
         {
             int lsAge = 28, zsAge = 27, ssAge = 26;
             Console.WriteLine("{0},{1},{2}",lsAge,zsAge,ssAge);
             Console.ReadKey();
         }
     }
}
//第二个问题 回答
int anl = 45; eee = 18; sss = 19;
//应该写成
int anl = 45,eee = 18, sss = 19;
因为;后面就不执行了.
int a=1;b=2;c=3;的话  意思是 int a=1;   然后b和c就没有int类型了.
你这么写吧
int a=1;
int b=2;
int c=3;

作者: a724228803    时间: 2013-6-18 14:53
原理:
console.WrietLien(参数1,参数2,参数3........);
console.WriteLine(); 只输出参数1中的内容,参数1后边的参数,是用来替换占位符中的内容的 ,所以你应该名字自己 问题所在 了
想输出自己想要的各种,需要自己控制输出。。

作者: samuelziul    时间: 2013-6-18 15:11
谢谢,楼上各位帮忙,现在明白了。也懂原理了。




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