我需要从字符串中的数据类型列表创建元组,但没有得到任何解决方案。
这是我想要做的示例。
string[] dataType = {"int", "float", "datetime"};
//I want to create list like this but dynamically datatype come from db.
//List<Tuple<int, string, string>> list = new List<Tuple<int, string, string>>();
List<Tuple<dataType[0],dataType[1], dataType[2]>> list = new List<Tuple<dataType[0],dataType[1], dataType[2]>>();
//Here datatype value is in string so I want to convert string to actual datatype.
Run Code Online (Sandbox Code Playgroud)
或者,如果对此有任何替代解决方案,请指导我。
4nd*_*ndy -1
您可以dynamic在此处使用您的类型。例如,当您从数据库中读取三个值时,您可以分配它们而不必担心类型,如下所示:
dynamic a = 10;
dynamic b = "Some String";
dynamic c = new DateTime(2020,4,9);
var test = new System.Tuple<dynamic,dynamic,dynamic>(a, b, c);
Run Code Online (Sandbox Code Playgroud)
这取决于您稍后想要如何处理这些值。
要创建这些元组的列表,请使用:
var list = new List<System.Tuple<dynamic,dynamic,dynamic>>();
Run Code Online (Sandbox Code Playgroud)
您可以获取变量的类型,a例如
a.GetType().ToString();
Run Code Online (Sandbox Code Playgroud)
不过,我不确定您是否可以根据字符串值设置变量类型(问题的第二部分)。