首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

结构里各个成员的赋值有关问题

2013-01-08 
结构里各个成员的赋值问题有时候结构里的成员和外部变量名称一样,怎样快速赋值给结构里的成员?例如:TRecR

结构里各个成员的赋值问题
有时候结构里的成员和外部变量名称一样,怎样快速赋值给结构里的成员?

例如:
TRec=Record
  ID:Integer;
  Name:String;
  Age:Integer;
end;
var Person:TRec;
procedure SetPerson(ID:Integer;Name:String;Age:Integer);
begin
  with Person do
  begin
    ID:=ID;Name:=Name;Age:=Age;
  end;
end;

我知道可以改成SetPerson(AID:Integer;AName:String;AAge:Integer),或者Person.ID=ID等等

但是有没其他更好的办法,就是不改变变量和结构成员的名称?
[解决办法]

我一直建议语法能让with支持别名
即:
aaaaaa.x:=1;
bbbbbb.y:=ccccc.z+1*aaaaa.x;
能写成:
with aaaaaa as a,bbbbbb as b,ccccc as c do
begin
  a.x:=1;
  b.y:=c.z+1*a.x;
end;

[解决办法]
我知道可以改成SetPerson(AID:Integer;AName:String;AAge:Integer),或者Person.ID=ID等等

但是有没其他更好的办法,就是不改变变量和结构成员的名称?
-----------------
这个真没有, 只能按你知道的两种方式修改.
[解决办法]
老老实实对成员一个一个赋值不挺好吗?
[解决办法]
引用:
老老实实对成员一个一个赋值不挺好吗?


赞成


[解决办法]
procedure SetPerson(AID:Integer;AName:String;AAge:Integer);
begin
  with Person do
  begin
    ID:=AID;Name:=AName;Age:=AAge;
  end;
end;

我只会这样子用

热点排行