我知道这个问题太愚蠢了。但我是一个学习者和班级生意对我来说很难。
我提出的是Code-1,而不是Code-2。我想知道两者是否都有相同的用途,差异只存在于演示文稿中。
我提出了这个疑问,因为到目前为止,我过去常常在主要内容中执行所有操作,而不是在类程序中使用不同的方法。
代码1。
namespace trial1
{
class Program
{
static void Main(string[] args)
{
Program p = new Program();
p.InstanceEqual();
}
public void InstanceEqual()
{
string name = "Unnikrishnan";
employeename emp1 = new employeename(name);
}
}
public class employeename
{
string _name;
public employeename(string name)
{
_name = name;
}
}
}
代码-2。
namespace trial1
{
class Program
{
static void Main(string[] args)
{
Program p = new Program();
employeename emp1 = new employeename("Unnikrishnan");
}
}
public class employeename
{
string _name;
public employeename(string name)
{
_name = name;
}
}
}
答案 0 :(得分:1)
你的问题有点不清楚,但我会去做。
你当然可以在Program类中使用一个方法,但通常你不会在测试或作业之外的任何程序。
两行不完成同样的事情。让我们比较一下他们做了什么:
employeename emp1 = new employeename("Joe");
此行创建一个带有新的employeename对象的新变量emp1。此变量仅在main函数的范围内。下一行调用InstanceEqual方法:
public void InstanceEqual()
{
string name = "Unnikrishnan";
employeename emp1 = new employeename(name);
}
该方法创建一个名为emp1的新变量,该变量仅在InstanceEqual
方法的范围内。完成InstanceEqual
方法后,它会将控制权返回给main()
,您无法再访问在InstanceEqual
方法中创建的emp1。
如果你想完成同样的事情,你可以返回你创建的那个值。完成同样事情的不同版本看起来像这样:
namespace trial1
{
class Program
{
static void Main(string[] args)
{
Program p = new Program();
employeename emp1 = new employeename("Joe");
employeename emp2 = p.InstanceEqual();
}
public employeename InstanceEqual()
{
string name = "Unnikrishnan";
employeename emp2 = new employeename(name);
return emp2;
}
}
public class employeename
{
string _name;
public employeename(string name)
{
_name = name;
}
}
}