黑马程序员技术交流社区
标题:
基础题
[打印本页]
作者:
liucaifu
时间:
2011-11-4 15:02
标题:
基础题
class Class1 {
private string str = Class1.str;
private int i = 0;
static void StringConvert(string str) {
str = “string being converted”;
}
static void StringConvert(Class1 c) {
c.str = “string being converted”;
}
static void Add(int i) {
i++;
}
static void AddWithRef(ref int i) {
i++;
}
static void Main() {
int i1 = 10;
int i2 = 20;
string str = str;
Class1 c = new Class1();
Add(i1);
AddWithRef(ref i2);
Add(c.i);
StringConvert(str);
StringConvert(c);
Console.WriteLine(i1);
Console.WriteLine(i2);
Console.WriteLine(c.i);
Console.WriteLine(str);
Console.WriteLine(c.str);
}
}
Console.WriteLine(c.i);
Console.WriteLine(str);
Console.WriteLine(c.str);
运行出来的答案出乎意料,解释一下,谢谢!
作者:
黄朝辉
时间:
2011-11-4 16:09
楼主能否把代码完整点的上传下?
作者:
李荣壮
时间:
2011-11-4 16:46
{:soso_e140:}不用运行就知道代码有问题
是你代码不完整?
Class1怎么自己在自己内部调用自己?
还用Main中的,string str=str,可以这样赋值?
作者:
夏雪锐
时间:
2011-11-4 17:42
我的天哪,你这会通过编译吗?
首先,你那个分号好像是中文状态下输入的;
2.Console.WriteLine(c.i);
Console.WriteLine(str);
Console.WriteLine(c.str);
这几句放在类里行吗?
3 private string str = Class1.str;
这是啥意思?我真不懂
4 c.StringConvert();
这个又没传参数.......
不看了,我也不猜你的意思了,然后改了下代码,在我的VS2008反正能编译通过。至于是不是你想要的就不知道了,有问题可以发消息给我。
class Class1 {
//private string str = Class1.str;
private int i = 0;
public string str = "";
static void StringConvert(string str) {
str = "string being converted";
}
static void StringConvert(Class1 str) {
str.str = "string being converted";
}
static void Add(int i) {
i++;
}
static void AddWithRef(ref int i) {
i++;
}
static void Main() {
int i1 = 10;
int i2 = 20;
string str = "";
Class1 c = new Class1();
Class1.StringConvert("");
Class1.Add(i1);
AddWithRef(ref i2);
Add(c.i);
StringConvert(str);
StringConvert(c);
Console.WriteLine(i1);
Console.WriteLine(i2);
Console.WriteLine(c.i);
Console.WriteLine(str);
Console.WriteLine(c.str);
Console.ReadKey();
}
}
}
作者:
郑文
时间:
2011-11-5 02:52
先去将 IF ELSE FOR循环等这些语句写熟悉了 再来写有关面向对象的程序
作者:
宋天琪
时间:
2011-11-5 09:27
你想写什么?看不懂。。。。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2