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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 张寅平 中级黑马   /  2012-4-26 18:14  /  1944 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 张寅平 于 2012-5-7 12:41 编辑

string str1 = "JaVa";
string str2 = "java";
str1=str1.ToUpper();
str2=str2.ToUpper();
Console.Write(str1, str2);
Console.ReadKey();

这段代码为什么只输出一个“JAVA”?

评分

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

查看全部评分

5 个回复

倒序浏览
这个不对
要用连接符,用+
Console.Write(str1+str2);

评分

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

查看全部评分

回复 使用道具 举报
Console.Write(str1,str2)   第一个参数是要输出的字符串,而第二个参数一般是限制前面字符串的格式,如果你想输出两个字符串的话 应该这么写
Console.Write(str1 + "," + str2)

评分

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

查看全部评分

回复 使用道具 举报
Console.Write(str1,str2)
逻辑上是没有错误的。。
但是C#在内部。做了一个字符串的特殊处理
当两个都是字符串的时候,值也一样的话,
它会认为只有一个参数,而后面的那个参数是限定字符的格式,
所以你要输入的话要加上字符串的连接符。。“+”

评分

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

查看全部评分

回复 使用道具 举报
console.wtiteline(str1+str2)用加号(+)连接,或者用占位符{},你那个得符合c#规则

评分

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

查看全部评分

回复 使用道具 举报
本帖最后由 陈世伟 于 2012-4-26 23:08 编辑

可以这样写Console.WriteLine(str2+str1);或者Console.WriteLine("{0}{1}", str1, str2); 或者str2 += str1;
Console.write(str2);

评分

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

查看全部评分

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