我有两个Oracle用户定义类型对象
T_CODE_LIST_TABLE
T_CODE_LIST
我可以将新的T_CODE_LIST添加到T_CODE_LIST_TABLE 如下
T_CODE_LIST_TABLE t_code_list_tab = new T_CODE_LIST_TABLE();
t_code_list_tab.Value = new T_CODE_LIST[] {
new T_CODE_LIST() { TEAMID = "1", GROUPTYPE = "1", GROUPLOGIC = "1", GROUPVALUE = val1.ToString()},
new T_CODE_LIST() { TEAMID = "2", GROUPTYPE = "2", GROUPLOGIC = "2", GROUPVALUE = val2.ToString()},
new T_CODE_LIST() { TEAMID = "3", GROUPTYPE = "3", GROUPLOGIC = "3”,GROUPVALUE = val3.ToString()}
};
但是我希望它能够在如下所示的运行时期间根据用户需要添加任意数量的T_CODE_LIST(),我该怎么做?
t_code_list_tab.Value = new T_CODE_LIST[] {
new T_CODE_LIST() { TEAMID = "1", GROUPTYPE = "1", GROUPLOGIC = "1", GROUPVALUE = val1.ToString()},
new T_CODE_LIST() { TEAMID = "2", GROUPTYPE = "2", GROUPLOGIC = "2", GROUPVALUE = val2.ToString()},
new T_CODE_LIST() { TEAMID = "3", GROUPTYPE = "3", GROUPLOGIC = "3”,GROUPVALUE = val3.ToString()},
.
.
.
N times
.
.
.
};
答案 0 :(得分:0)
您可以通过多种方法解决此问题。动态地在数组中添加值并非易事。 更好的解决方案之一是创建列表然后添加对象。每当需要时,都可以使用.ToArray()函数将其转换为数组。
您的代码可以如下所示
List<T_CODE_LIST> tcodes =new List<T_CODE_LIST>();
tcodes.Add(new T_CODE_LIST() { TEAMID = "1", GROUPTYPE = "1", GROUPLOGIC = "1", GROUPVALUE = val1.ToString()});
.
.
....N times ...whenever needed
T_CODE_LIST_TABLE t_code_list_tab = new T_CODE_LIST_TABLE();
t_code_list_tab.Value = tcodes.ToArray();
答案 1 :(得分:0)