有什么方法可以在C#中做到这一点?我不能在C#代码中使用this(int,int)。你能给我写一些类似于C#的代码,并会做同样的事情吗?谢谢! :)
public class JavaApplication2
{
public static class SomeClass
{
private int x;
private int y;
public SomeClass () { this(90,90); }
public SomeClass(int x, int y) { this.x = x; this.y = y; }
public void ShowMeValues ()
{
System.out.print(this.x);
System.out.print(this.y);
}
}
public static void main(String[] args)
{
SomeClass myclass = new SomeClass ();
myclass.ShowMeValues();
}
}
答案 0 :(得分:4)
是的,C#可以链接构造函数:
public SomeClass() :this(90,90) {}
public SomeClass(int x, int y) { this.x = x; this.y = y; }
MSDN在Using Constructors。
中介绍了这一点话虽如此,在C#中,课程也必须不是static
。
答案 1 :(得分:2)
如果要将其转换为C#,有几件事需要更改:
SomeClass
声明为静态。它不会编译,因为static classes不能有实例成员。您需要删除static
关键字。: this(...)
(或: base(...)
来调用父类的构造函数)。 System.Console
。System.out
醇>
这应该适合你:
public class SomeClass
{
private int x;
private int y;
public SomeClass () : this(90,90) { }
public SomeClass(int x, int y) { this.x = x; this.y = y; }
public void ShowMeValues ()
{
Console.WriteLine(this.x);
Console.WriteLine(this.y);
}
}