C# 结构体转string 类型

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C# 结构体转string 类型相关的知识,希望对你有一定的参考价值。

我是传入的结构体,最终要得到string类型 怎么做呢

将结构体序列化,当需要的时候,执行反序列化,如下:
struct Car
public String Color;
public Int32 Wheels;


序列化过程:
Car c=new Car();
c.Color="red";
c.Wheels=4;
JavaScriptSerializer serializer = new JavaScriptSerializer();
String strSerializer = serializer.Serialize(c);
//strSerializer:Color:"red",Wheels:3
这个字符串格式无论在服务端还是客户端,解析都比较简单,反序列化后就能直接使用,如在JS中反序列化,如下:
var Car = eval('(' + strSerializer+ ')');
得到的Car是个JS对象,可以直接通过以下方式调用:
Car.Color;//red
Car.Wheels;//3

以上代码手工输入,如有错误可HI我。
互相学习!
Dy
参考技术A 没懂你意思。传入结构体?就提取里面的数据,然后处理,新建一个string,将提取出来的内容用.ToString()一个一个地写入进去。再return出来就是string类型了追问

用户传入的是结构体类型 而我要得到的里面的数据,将数据变为string传入服务器。怎么提取呢

追答

结构体里面有属性啊,比如tmp.userID就可以提取名叫userID的属性,就这样提取啊。前提是,userID 有public前缀

参考技术B 结构体是有多个字段组成的一个集合,而且类型也可以不相同
好像只能一个一个的转换,话说你把它转换为string类型干嘛呢追问

我必须得到string类型

参考技术C 提取属性名和值构造字符串吗,知道结构可以自己写个方法转嘛;或者看看能不能重写结构体的ToString方法。

C#泛型参数的数据结构还原?

定义了一个多字段的结构
struct a

public int ai;
public string as;
public float af;

定义了一个泛型方法
public bool Test<T>(string a, T b)

//当传入参数是数据类型为a的变量时,我要引用其成员ai、as、af该如何操作?

当调用时,如果参数T b是某个类型为a的变量b,
1.如何判断传入参数数据类型?
2.如果传入数据类型为a,我如何引用b.ai、b.as、b.af?

参考技术A 参考以下:
问题1:
在调用泛型方法的时候,需要使用明确的数据类型
问题2:
如果数据类型是结构体,那么就参照结构体是如何调用成员变量,结构体名.变量名
参考技术B

a aa = (a)Convert.ChangeType(b, typeof(a));

以上是关于C# 结构体转string 类型的主要内容,如果未能解决你的问题,请参考以下文章

C++ 结构体转json

C++ 结构体转json

C++ 结构体转json

C++ 结构体转json

技巧:Go 结构体如何转换成 map[string]interface{}

C#基础 结构体 枚举类型