非常艰难,但管理了一些如何,但现在我遇到了一个问题……
Delphi代码包含以下代码:
type TFruit = record name : string[20]; case isRound : Boolean of // Choose how to map the next section True : (diameter : Single); // Maps to same storage as length False : (length : Single; // Maps to same storage as diameter wIDth : Single); end;
即一个变体记录(内部有case语句),因此也构建了记录及其大小.
另一方面,我试图在C#struct中做同样的事情,但还没有成功,我希望有人能在这里帮助我.
所以,请告诉我是否有任何方法可以在C#中实现这一点.
提前致谢….
我会这样做:
struct Fruit{ string name; bool isRound; float diameter; // only valID when isRound is true float length; // only valID when isRound is false float wIDth; // only valID when isRound is false}
更优雅的选项是具有每个struct字段属性的类.如果为了无效的isRound值访问它们,你会安排3个浮点数的属性getter和setter引发异常.
总结以上是内存溢出为你收集整理的将Delphi变体记录转换为C#struct全部内容,希望文章能够帮你解决将Delphi变体记录转换为C#struct所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)