static MyStru Foo(MyStru val, ref MyStru rval, out MyStru oval) { rval.f_float = val.f_float + 100; rval.f_long = 789; oval = rval; return(oval); }
public static int Entry() { MyStru[] sary = new MyStru[30]; for (int i = 0; i < sary.Length; ++i) { sary[i].fldI4 = i + 1; sary[i].fldR8 = i * 100 + 0.1234567; } for (int i = sary.Length - 1; i >= 0; --i) { if (sary[i].fldI4 != i + 1) { return(1); } if (!sary[i].fldR8.IsEquals(i * 100 + 0.1234567)) { return(2); } } //MyStru[,,] sary3d = new MyStru[5, 4, 3]; return(0); }
private static MyStru Foo1(MyStru s, ref MyStru rs, out MyStru os) { rs = s; os = new MyStru { fldI4 = 123, fldR8 = 3.1415926 }; return(os); }
public static bool Entry() { MyStru stru = new MyStru(777, 888); MyStru stru2; var res = Foo(new MyStru(), ref stru, out stru2); if (stru.f_float == stru2.f_float && stru.f_long == stru2.f_long && res.f_float == stru2.f_float && res.f_long == stru2.f_long) { return(true); } return(false); }
public static int Entry() { sfldI2 = 26; MyStru rs = new MyStru(); var ret = Foo1(new MyStru { fldI4 = 10, fldR8 = 1.44 }, ref rs, out var os); if (ret.fldI4 != 123) { return(1); } if (ret.fldR8 != 3.1415926) { return(2); } if (ret.fldI4 != os.fldI4) { return(3); } if (ret.fldR8 != os.fldR8) { return(4); } if (rs.fldI4 != 10) { return(5); } if (rs.fldR8 != 1.44) { return(6); } MyStruHasRef rs2 = new MyStruHasRef(); var ret2 = Foo2(new MyStruHasRef { fldI8 = 999999 }, ref rs2, out var os2); if (ret2.cls.fld != 42) { return(7); } if (ret2.fldI8 != -1000001) { return(8); } if (rs2.cls.fld != os2.cls.fld) { return(9); } if (rs2.cls.fld != ret2.cls.fld) { return(10); } if (ret2.fldI8 != rs2.fldI8) { return(11); } if (os2.fldI8 != -2) { return(12); } if (sfldI2 != 26) { return(13); } return(0); }