gpt4 book ai didi

c# - 寻找 C# 中不同类型用户输入的数组列表声明的良好实践

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:53:13 27 4
gpt4 key购买 nike

我需要帮助来尝试使用此算法缩短长代码。

我在我的文本框字段上使用它

Textbox[] Fields = new Textbox[] { txtbox1, txtbox2, txtbox3.. };
string[] arr = { stringVariable1, stringVariable2, stringVariable3.. };

int cnt = 0;
foreach(var r in Fields.AsEnumerable())
{
r.Text = arr[cnt].toString();
cnt++;
}

因此,当加载表单时,如果变量为空或有值,将根据变量填充用户输入字段。

但是如果我有不同类型的字段怎么办?例如日期选择器值、组合框和文本框、单选按钮和复选框字段。

object[] fields = new object[] { datepicker1, Txtbox1, ComboBox1, CheckBox1 };

将它与我用不同类型的对象声明的数组匹配

object[] arr = { DateVar1, TxtBoxVarString1, ComboBoxstring1, CboxBool1, int.. }

是否可以声明这样的事情,这样我就可以缩短我的代码,或者我必须手动完成,因为这是不可能的。

我试过这段代码:

ArrayList arrvar = new ArrayList(); object[] obj = new object[] { datevarvalue1, cboxvarbool1, rbtnvarbool1, stringvar1.. etc.. etc.. }

arrvar.addrange(obj); try { List Fields = new List { AddinfoDOB.Value, CheckBox1.Checked, RadioButton1.Checked, AddinfoPlaceOfBirth.Text, AddInfoCmbBoxBloodT.Text, AddInfoCmbBoxOrigin.Text, AddInfoCmbBoxCitizenship.Text, AddInfoCmbBoxLanguage.Text, AddInfoAddress01.Text };

int cnt = 0;
foreach (object r in Fields.AsEnumerable())
{
Fields[cnt] = arrvar[cnt];
cnt++;
}
}
catch (Exception ex) { MessageBox.Show(ex.Message.ToString()); }

错误消息:“集合已修改;枚举操作可能无法执行。”

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com