如何将字段从一种结构复制到另一种结构

瓦尔鲁兹

我有几个输入结构,我需要将它们转换为其他结构,以便将其传递给我的方法。

struct Source1
{
    public float x1;
    public float x2;
    public float x3;
}

struct Source2
{
    public float x1;
    public float x3;
    public float x2;
    public float x4;
}

struct Target
{
    public float x1;
    public float x2;
    public float x3;
}

我确信源结构有必填字段(类型和名称很重要)但该字段的偏移量未知。此外,源结构可能包含一些我不需要的额外字段。

如何将所需字段从源结构复制到目标结构。我需要尽快完成。

在 C 中有一个非常简单的方法可以解决这类问题。

#define COPY(x, y) \
{\
x.x1 = y.x1;\
x.x2 = y.x2;\
x.x3 = y.x3;\
}

我正在考虑获取一组字段,然后使用其名称作为键获取字段的值,但对我来说这似乎是一个缓慢的解决方案。

微博

https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/statements-expressions-operators/how-to-implement-user-defined-conversions-between-structs进行测验

它详细说明了使用implicit operators哪种方法可以考虑。

一些示例代码:

using System;

namespace Test
{
    struct Source1
    {
        public float x1;
        public float x2;
        public float x3;

        public static implicit operator Target(Source1 value)
        {
            return new Target() { x1 = value.x1, x2 = value.x2, x3 = value.x3 };
        }
    }

    struct Target
    {
        public float x1;
        public float x2;
        public float x3;
    }

    public class Program
    {
        static void Main(string[] args)
        {
            var source = new Source1() { x1 = 1, x2 = 2, x3 = 3 };
            Target target = source;

            Console.WriteLine(target.x2);

            Console.ReadLine();
        }
    }
}

另一种选择是使用AutoMapper不过性能会比较慢。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何将结构向量复制到另一种具有重复的结构向量

来自分类Dev

如何将文件从一种用途复制到另一种用途?

来自分类Dev

如何将产品的分类单元从一种产品复制到另一种产品

来自分类Dev

将数据从一种纹理复制到另一种-OpenGL

来自分类Dev

将数据从一种纹理复制到另一种-OpenGL

来自分类Dev

将 JSON 从一种结构转换为另一种结构

来自分类Dev

将KDoc文档从一种方法复制到另一种方法

来自分类Dev

将输入值从一种形式复制到另一种形式

来自分类Dev

Oracle-将表数据从一种模式复制到另一种模式

来自分类Dev

将输入值从一种形式复制到另一种形式

来自分类Dev

将PuTTY会话的颜色和字体从一种复制到另一种

来自分类Dev

仅将某些文件类型从文件夹结构复制到另一种

来自分类Dev

如何在Visual Studio 2013中将Web参考从一种解决方案复制到另一种解决方案

来自分类Dev

如何将数据从一种形式传递到另一种套件脚本

来自分类Dev

如何将信息从一种意图传递到另一种意图

来自分类Dev

如何将值从一种形式传递到另一种形式的动态创建的控件

来自分类Dev

Python Flask-如何将值从一种途径传递到另一种途径?

来自分类Dev

提交时如何将值从一种形式传递到另一种形式?

来自分类Dev

我如何将公共变量从一种形式传递到另一种形式

来自分类Dev

如何将变量从一种 qt 形式传递到另一种形式的 qt 形式?

来自分类Dev

如何将 DDL 更改从一种模式镜像到另一种模式?

来自分类Dev

如何将文本从一种形式同步到另一种形式?

来自分类Dev

密码查询,用于将节点从一种列表结构移动到另一种列表结构

来自分类Dev

在MySql中将表和数据从一种模式复制到另一种的脚本

来自分类Dev

在MySql中将表和数据从一种模式复制到另一种的脚本

来自分类Dev

在C#中将面板从一种形式复制到另一种形式

来自分类Dev

将一种 JSON 结构转换为另一种结构

来自分类Dev

将数据从一种数据结构映射到另一种

来自分类Dev

jQuery-将输入值从一种形式复制到另一种形式(形式和输入名称相同)

Related 相关文章

  1. 1

    如何将结构向量复制到另一种具有重复的结构向量

  2. 2

    如何将文件从一种用途复制到另一种用途?

  3. 3

    如何将产品的分类单元从一种产品复制到另一种产品

  4. 4

    将数据从一种纹理复制到另一种-OpenGL

  5. 5

    将数据从一种纹理复制到另一种-OpenGL

  6. 6

    将 JSON 从一种结构转换为另一种结构

  7. 7

    将KDoc文档从一种方法复制到另一种方法

  8. 8

    将输入值从一种形式复制到另一种形式

  9. 9

    Oracle-将表数据从一种模式复制到另一种模式

  10. 10

    将输入值从一种形式复制到另一种形式

  11. 11

    将PuTTY会话的颜色和字体从一种复制到另一种

  12. 12

    仅将某些文件类型从文件夹结构复制到另一种

  13. 13

    如何在Visual Studio 2013中将Web参考从一种解决方案复制到另一种解决方案

  14. 14

    如何将数据从一种形式传递到另一种套件脚本

  15. 15

    如何将信息从一种意图传递到另一种意图

  16. 16

    如何将值从一种形式传递到另一种形式的动态创建的控件

  17. 17

    Python Flask-如何将值从一种途径传递到另一种途径?

  18. 18

    提交时如何将值从一种形式传递到另一种形式?

  19. 19

    我如何将公共变量从一种形式传递到另一种形式

  20. 20

    如何将变量从一种 qt 形式传递到另一种形式的 qt 形式?

  21. 21

    如何将 DDL 更改从一种模式镜像到另一种模式?

  22. 22

    如何将文本从一种形式同步到另一种形式?

  23. 23

    密码查询,用于将节点从一种列表结构移动到另一种列表结构

  24. 24

    在MySql中将表和数据从一种模式复制到另一种的脚本

  25. 25

    在MySql中将表和数据从一种模式复制到另一种的脚本

  26. 26

    在C#中将面板从一种形式复制到另一种形式

  27. 27

    将一种 JSON 结构转换为另一种结构

  28. 28

    将数据从一种数据结构映射到另一种

  29. 29

    jQuery-将输入值从一种形式复制到另一种形式(形式和输入名称相同)

热门标签

归档