using System;这是第一种方法class user
{
public string name;
public string sex;
public string setsex(string values)
{
if(values=="男"||values=="女")
{
sex=values;
}
else
{
Console.WriteLine ("姓名只能是男或女");
}
return sex;
}
}class property
{
static void Main()
{
user zs=new user ();
zs.name ="张三";
zs.setsex ("牛");
Console.WriteLine ("姓名为:"+zs.name+" 性别:"+zs.sex);
Console.ReadLine ();
}
}
第二种方法using System;class user
{
public string name;
public string sex;
public void setsex(string values)
{
if(values=="男"||values=="女")
{
sex=values;
}
else
{
Console.WriteLine ("姓名只能是男或女");
}
}
}class property
{
static void Main()
{
user zs=new user ();
zs.name ="张三";
zs.setsex ("牛");
Console.WriteLine ("姓名为:"+zs.name+" 性别:"+zs.sex);
Console.ReadLine ();
}
}
以上的两种方法得出结果是一样的,我如何区分应该使用那个好呢,什么情况下使用void,就是说什么情况下定义有返回值和没有返回值??谢谢、、我怎么就是绕不开这个弯,或许有人给我一棒子就好了。最好有个明白的例子最好了
{
public string name;
public string sex;
public string setsex(string values)
{
if(values=="男"||values=="女")
{
sex=values;
}
else
{
Console.WriteLine ("姓名只能是男或女");
}
return sex;
}
}class property
{
static void Main()
{
user zs=new user ();
zs.name ="张三";
zs.setsex ("牛");
Console.WriteLine ("姓名为:"+zs.name+" 性别:"+zs.sex);
Console.ReadLine ();
}
}
第二种方法using System;class user
{
public string name;
public string sex;
public void setsex(string values)
{
if(values=="男"||values=="女")
{
sex=values;
}
else
{
Console.WriteLine ("姓名只能是男或女");
}
}
}class property
{
static void Main()
{
user zs=new user ();
zs.name ="张三";
zs.setsex ("牛");
Console.WriteLine ("姓名为:"+zs.name+" 性别:"+zs.sex);
Console.ReadLine ();
}
}
以上的两种方法得出结果是一样的,我如何区分应该使用那个好呢,什么情况下使用void,就是说什么情况下定义有返回值和没有返回值??谢谢、、我怎么就是绕不开这个弯,或许有人给我一棒子就好了。最好有个明白的例子最好了
的话,你就该用到返回值了。
//这是第一种方法 class user
{
public string name;
private string sex; public string setsex(string values)
{
if (values == "男" || values == "女")
{
sex = values;
}
else
{
Console.WriteLine("姓名只能是男或女");
}
return sex;
}
}class property
{
static void Main()
{
user zs = new user();
zs.name = "张三";
string sex = zs.setsex("牛"); Console.WriteLine("姓名为:" + zs.name + " 性别:" + sex);
Console.ReadLine();
}
}
class oao
{
public int result; public oao()
{
this.add2();
} public int add()
{
return 1 + 1;
} public void add2()
{
result = 1 + 1;
}
}class property
{
static void Main()
{
oao o =new oao();
int i=o.result; //不带返回值的,不能i=o.add2();
int j=o.add();//带返回值的可以直接调用方法
}
}
Console.WriteLine ("姓名为:"+zs.name+" 性别:"+zs.setsex("牛"));
在MSDN里面你可以看到很多这样子的列子,都带着返回值,ID或者Index。private string m_name;
public string Name
{
get { return m_name; }
set { m_name = value; }
}public string GetNameById(string id)
{
if (!String.IsNullOrEmpty(id))
m_name = "Name As Id"; return m_ame;
}有时候你希望可以通过直接函数就取到名字,而不是调用类里面的成员,例如 string name = GetNameById("001");
总之,区别仅仅在于你需不需要链表操作,从性能上或者其他方面都没有什么问题。
当你需要返回值的时候,用需要返回的类型。
当你不需要返回值的时候,用void