帮助理解C#代码并移植到Objective-C

Jos*_*ley 3 c# methods porting declaration objective-c

好吧,我有这个原型是由C#中的其他人编写的,我试图把它放到Objective-C中.现在,我还没有任何关于C#的正式经验,所以我还不知道它的一切.我理解前三个变量是什么,但我遇到第四行和第五行(c_data)正在做的问题.是第四个声明一种方法,然后第五个定义它或正在发生什么?谢谢你的帮助!

public class c_data {
    public double value;
    public int label;
    public int ID;
    public c_data() { }
    public c_data(double val) {
        value = val;
    }
}
Run Code Online (Sandbox Code Playgroud)

LBu*_*kin 16

第四行和第五行是C#中的构造函数.它们相当于objective-c中的[[c_data alloc] init]链.C#允许您根据构造函数的参数重载构造函数.这相当于Objective-C中有两种不同的初始化方法:

@interface CData : NSObject
{
   double value;
   int label;
   int ID;
}

@property double value;
@property int label;
@property int ID;

-(id) init;
-(id) initWithValue:(double)value;

@end
Run Code Online (Sandbox Code Playgroud)